MYSQ养成记-MYSQL基础增强

MYSQL基础增强

库操作

 1      创建一个使用UTF-8字符集的数据库:
 2      create database mydb character set UTF8;
 3
 4      创建一个带校对集的数据库
 5      create database mydb character set UTF8 collate utf8_general_ci;
 6
 7      查看所有数据库:
 8      show databases;
 9      show databases like ‘pattern‘;
10
11      显示数据库的创建信息
12      show create database mydb ;
13
14      删除数据库:
15      drop database mydb ;
16
17      修改库(库名不能修改,可以修改库的细节.)
18      alter database mydb character set gb2312;
19
20      备份库(windows命令)
21      退出mysql客户端,quit,执行:
22      mysqldump -uroot -p mydb >c:\test.sql
23
24      恢复库(只能恢复库的数据,不能恢复库,首先要创建库)
25      Mysql命令行恢复:
26      use mydb;
27      source d:\book.sql;
28      windows命令恢复:
29      mysql -uroot -p mydb<c:test.sql

表细节操作

 1     修改表的细节信息:增加列
 2     alter table books add classify varchar(40);
 3
 4     查看表的创建细节:
 5     show create table employee;
 6     查看表的结构:
 7     desc books;
 8
 9     修改bookname列的长度:修改列的细节
10     alter table books modify bookname varchar(60);
11
12     修改列的细节
13     alter table users change column id id int;
14
15     删除author列:
16     alter table books drop author;
17
18     修改表名:
19     rename table books to book;
20
21     修改表的字符集:
22     alter table users character set gb2312;
23
24     修改列名:将user表的password列修改为userpass列
25     alter table user change column password userpass varchar(20);
26     删除表:
27     drop table users;

表操作

 1 规范建表:
 2 主键约束:primary key
 3 主键自动增长:auto_increment
 4 唯一约束:unique
 5 非空约束:not null
 6 外键约束:
 7     constraint ordersid_FK foreign key(ordersid) references orders(id)
 8     constraint :定义一个约束
 9     ordersid_FK :约束名称
10     foreign 外键约束
11     key(ordersid):约束谁
12     references orders(id) 参考谁
13 例1
14 create table test4(
15     id int primary key auto_increment,
16     name varchar(20) unique not null
17 );
18 例2.外键约束
19 create table card(
20     id int primary key,
21     name varchar(20)
22 );
23 create table users(
24 id int primary key,
25 name varchar(20),
26 card_id int,
27 constraint card_id_FK foreign key(card_id) references card(id)
28 );
29 insert into card(id,name) values(1,‘aaa‘);
30 insert into users(id,name,card_id) values(1,‘bbbb‘,1);
31 insert into users(id,name,card_id) values(2,‘bbbb‘,2);//出错
32 会提示外键相关错误
33
34 insert:
35 insert into users(id,name) values(1,‘bbbb‘);
36 insert into users values(1,"aaa"),(2,"bbb"),(3,"ccc");//批量插入多条
37 insert into users set id=5,name=‘tom‘;//使用set插入数据
38
39 update:
40 update users set name=‘tom‘;//将用户名改为tom,谨慎使用
41 update users set name=‘tom‘ where id=1;
42 update users set name=‘tom‘,sex=‘男‘ where id=2;
43 update employee set sala=sala+1000 where username=‘tom‘;将tom员工的薪水加1000
44
45 delete:
46 注意一定要与where语句配合使用,否则可能会删除所有记录
47 delete from table users where id=1;
48 delete from users;删除所有数据
49 truncate table employee;//删除表中所有记录,与上一个的不同是:如果表数据很多的话这个快一些,他是摧毁表再重建。使用它的话auto_increment会从1开始.
50
51 select:
52 select * from users;
53 select id,name from users;
54 select distinct name from users;//去掉重复列
55 select name,(english+chinese+math+history) from student;//统计每个学生的总分
56 select * from student where name like ‘%李%‘;//查询姓名含有李的学生成绩
57 select * from student where name like ‘李_‘;//查询姓李的两个字的学生成绩
58 select name,math from student order by math desc;//根据数学成绩排序,默认升序
59 select count(*) from student;//统计个数
60 select count(*) from student where math>=90;//统计数学成绩大于90分的个数
61 ......其他功能查阅文档

相关网址:
Mysql5.x手册 http://doc.mysql.cn/Mysql官网 http://dev.mysql.com/
Mysql5.7参考手册 http://dev.mysql.com/doc/refman/5.7/en/
其他参考手册CSDN-Mysql知识库

author: liuning

时间: 2024-11-08 23:00:35

MYSQ养成记-MYSQL基础增强的相关文章

MYSQL养成记-MYSQL基础增强(Myql函数)

MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数mysql> SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' mysql> SELECT CONCAT('My', NULL, 'QL');//与null连接会变null -> NULL mysql> SELECT CONCAT(14.3); -> '14.3' CONCAT_WS://含分隔符的字符串连接mysq

架构师养成记--线程基础

为什么要拿线程开头呢?因为线程太重要了,先不说工作中有多重要,单是和money直接挂钩的开发工程师面试就必问题,要是面试没问相关问题的话,要么是应聘者太菜面试官懒得问了,要么是公司太菜,根本不关心多线程的问题. 一.线程安全问题 当多个线程访问某一个类的时候,这个类都能表现出正确的行为,那么这个类就是线程安全的. synchronized可以加在任意对象及方法上加锁,加锁的这段代码就成为互斥区或者临界区 下面是关于线程安全的一个小示例,关键点就在synchronized这个词上 1 import

【夯实Mysql基础】记一次mysql语句的优化过程!

1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使用了 2个 order by和 1个limit的分页 sql. 一个sql是上一个sql的count(*),即链接了5个表,当然没有limit了(取总数). 2. [着手优化] 1)[优化思路] 第一条是 做client调用 service层的数据缓存 第二条就是 优化sql本身. 这里着重讲一下

【夯实Mysql基础】记一次mysql语句的优化过程

1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使用了 2个 order by和 1个limit的分页 sql. 一个sql是上一个sql的count(*),即链接了5个表,当然没有limit了(取总数). 2. [着手优化] 1)[优化思路] 第一条是 做client调用 service层的数据缓存 第二条就是 优化sql本身. 这里着重讲一下

MySQL 基础(二)

MySQL 基础(二) ============================================================================== 概述: ============================================================================== MySQL   1.数据结构: ★分类: 结构化数据:  关系型数据库 半结构化数据:YAML.XML.JSON 非结构化数据:日志文件,NoSQL  

mysql基础和数据库的优化

Mysql基础... 4 Mysql介绍... 4 登录mysql mysql –u root –p[掌握]... 4 SQL语言... 4 DCL. 4 grant. 4 revoke. 4 DDL. 4 建库... 4 删库... 4 建表... 4 看表结构... 5 删表... 5 修改表... 5 DML[重点]... 5 增加... 5 删除... 5 修改... 5 查看... 5 排序... 5 总数... 5 求和... 5 平均... 6 最大... 6 最小... 6 表连

Mysql基础代码(不断完善中)

Mysql基础代码,不断完善中~ 1 //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. 2 3 4 /* [命名规则] */ 5 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 6 变量名建议用下划线方式分隔 // $var_name 7 函数名建议用驼峰命名法 // varName 8 定界符建议全大写 // <<<DING, <<<'DING' 9 文件名建议全小写和下划线.数字 // func_n

MYSQL 基础操作

1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样) insert into t3 select * from t1; --t1的数据全部拿过来,注意是表结构一致才select* ,否则选择相应的的字段列插入 create table t1( id int unsigned not null auto_increment primary key,

中产阶级养成记:现代人需要的8点能力素养(一)(不服来战,欢迎勾搭)

首先,要说明"中产阶级养成记",这个确实有点"标题党"了.我自认为,关于以下几点的能力素养,对从贫穷晋升到中产阶级方面,有很大帮助,至少我现在是这么想的,也认为是可行的. 自己的家庭或者说家族,本来就是那种平民百姓,在早期属于"农民",最近些年,属于"半农半工","全工"的状态. 作为整个家庭,甚至是家族,几代人中间唯一的一个有较高含金量的"大学生" ,我最想做的事情之一,就是想在经济方