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: est.sql 23 24 恢复库(只能恢复库的数据,不能恢复库,首先要创建库) 25 Mysql命令行恢复: 26 use mydb; 27 source d:ook.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