数据定义语句DDL:
包含cteate创建,alter修改,drop删除,truncate删除
创建数据库
create database 数据库名
删除数据库
drop database 数据库名
创建数据库表
create table 表名 (
字段名1 数据类型 [约束条件],
[其他约束条件]
)default charset=’utf8’;
删除数据库表
drop table 表名; #清空表结构和记录以及索引等
truncate table 表名; #清空表记录,重置自增序列
添加字段
alter table 表名 add 新字段名 新数据类型 [新约束条件];
删除字段
alter table 表名 drop 字段名;
修改字段
alter table 表名 modify 字段名 新数据类型;
alter table 表名 change 旧字段名 新字段名 新数据类型;
数据操作语句DML:
包含insert新增,delete删除,update修改,select查询
新增数据
insert into 表名 [(字段列表)] values (值列表);
删除数据
delete from 表名 [where 字段名=值]; #删除表记录,可以带条件
修改数据
update 表名 set 字段名1=修改值1,[字段名2=修改值2 [where 条件表达式]];
查询数据
select 字段名 from 表名;
查询数据带条件
select 字段名 from 表名 where 字段名=值;
select 字段名 from 表名 where 字段名>=值;
select 字段名 from 表名 where 字段名<>值; #不等于
查询数据带排序
select 字段名 from 表名 order by 字段名 desc; #降序
select 字段名 from 表名 order by 字段名 asc; #升序
查询数据前几行
select 字段名 from 表名 limit n; #前n行
查询去重字段
select distinct(字段名) from 表名;
模糊查询
select * from 表名 where 字段 between 范围1 and 范围2;
select * from 表名 where 字段 in (范围1, 范围2);
select * from 表名 where 字段 like ‘%要匹配的文字内容%’;
select * from 表名 where 字段 is null; #字段为空
数据控制语句DCL:
包含授权grant,收回权限reboke
事务控制语句TCL:
包含begin开始,commit提交,rollback回滚
select语法格式
select 字段列表
from 数据源表
[where 条件表达式]
[
[group by 分组字段]
[having 条件表达式]
]
[order by 排序字段 [asc|desc] ]
[约束条件]
primary key #主键约束
foreign key #外键约束
unique #唯一约束
default #默认约束
not null #非空约束
check #检查约束
高级查询
内连接
select * from 表1,表2 where 表1.字段名=表2.字段名;
select * from 表1 join 表2 on 表1.字段名=表2.字段名;
外连接
select * from 表1 left join 表2 on 表1.字段名=表2.字段名;
select * from 表1 right join 表2 on 表1.字段名=表2.字段名;
子查询
select * from 表名 where 字段名=(select 字段名 from 表名2);
select * from 表名 where 字段名in(select 字段名 from 表名2);
派生表
select * from 表名1 表别名1,(select 字段名 from 表名2) 表别名2 where 表别名1.字段=表别名2.字段;
联合查询
select 字段名 from 表1 union select 字段名 from 表2;
select 字段名 from 表1 union all select 字段名 from 表2;