DDL语句
- 创建名为
test1
的数据库
create database test1;
- 删除名为
test1
的数据库
drop database test1;
- 查看所有数据库
show databases;
- 使用名为
test1
的数据库
use test1;
- 查看所有数据表
show tables;
- 创建一个名为
emp
的表
create table emp(eName varchar(10),hireDate date,sal decimal(10, 2),deptNo int(2));
- 查看名为
emp
的表的定义
desc emp;
- 查看更为全面的表的信息
show create table emp;
- 删除表
drop table emp;
- 修改表的结构
- 修改字段类型
alter table emp modify eName varchar(20);
- 增加表字段
alter table emp add column age int(3);
- 删除表字段
alter table emp drop column age;
- 字段改名
alter table emp change age age1 int(4);
- 修改字段排列顺序
alter table emp add birth date after eName;
- 更改表名
alter table emp rename emp1;
- 修改字段类型
DML语句
- 插入记录
insert into emp(eName, hireDate, sal deptNo) values('Tom', '2016-01-02', 3000, '2'),('Make', '2016-01-02', 4000, '1');
- 更新记录
update emp set sal=4000 where eName='Tom';
- 删除记录
delete from emp where eName='Tom';
- 查询记录
- 查询所有数据
select * from emp;
- 查询不重复的记录
select distinct deptNo from emp;
- 条件查询
select * from emp where deptNo=1 and sal<4000;
- 排序和限制
select * from emp order by sal, deptNo desc;
select * from emp order by sal limit 1, 3; # 显示排序后的从第二条记录开始的3条记录,记录是从0开始
- 聚合
select deptNo, num from emp group by deptNo with rollup;# with rollup 是可选项,表明是否对分类聚合后的结果进行在汇总
- 表连接
select eName, deptName from emp, dept where emp.deptNo=dept.deptNo;
select eName, deptName from emp left join dept on emp.deptNo=dept.deptNo;
- 子查询
select * from emp where deptNo in (select deptNo from dept);
- 记录联合
select deptNo from emp union select deptNo from dept;
- 查询所有数据
DCL语句
grant create,alter,insert,update,select on test.* to 'user'@'localhost'; # grant 权限1, 权限2... ON 数据库名.表名 to '用户名'@'主机名'