-
查询框架
执行顺序select 查询列表 7from 表 1[join type] join 表2 2 on 连接条件 3where 筛选条件 4group by 分组条件 5having 分组后筛选 6order by 排序条件 8 limit [offset],size 9 #注# offset表示分页查询中当前页开始位置,计算公式=(page-1)*size,最小是0,size是页面大小
2.字符串查询语句
select substr(email,1,instr(email,@)-1) as use_name
from stu_infor
3.联合查询
将多条查询结果合并成一个结果(上下合并,因此要求多个查询结果列数相同,且对应顺序列的属性相同)
查询语法:
查询语句1
union [ALL]
查询语句2
union [ALL]
......
注释:union连接中会**自动去重**,如果不需要去重的话加上**[ALL]**
4.exists的使用
select exists(select employee_id From employees);
exisets布尔类型,判断括号内查询结果是否为空,非空为1
5.DML语言
插入:insert 删除:delet 修改:update修改多表数据:update 表1 别名,表2 别名 ......set 列=新值where 筛选条件and 筛选条件
删除:delete:整行删除,可以加筛选条件truncate:整表删除truncate table 表名区别:1、delete删除的如果有自增长列,则再插入后新数据,新数据从删除的数字自增长;truncate直接从1开始2、delete删除后有返回值,truncate没有返回值3、delete删除后可以回滚,truncate不可以回滚
6.DDL语言
表和库管理:创建:create 修改:alter 删除:dropcreate database if not exist books;Alter database books character set gbk;use bookscreate table 表名(列名 类型,......)
表的管理:add、change、modify、drop、rename toAlter Table books add/change/modify/drop/rename to 新的;
表的复制:1、只复制格式create Table copy like 源表;2、格式+数据create Table copy1 select * from 源表;3、部分数据create Table copy2 select 数据 from 源表 where 筛选条件;4、部分数据格式create Table copy3 select 数据 from 源表 where 1=2;//没有满足1=2的所以没有数据复制过去因此只有格式被复制了