全部章节 >>>>
01. 增加
部分列插入:值与给出的列顺序对应
- insert into 表名(列名1,列名n) values(值1,值n)
部分列多行插入
- insert into 表名(列名1,列名n) values(值1,值n) , values(值1,值n)
全列插入:值与表字段的顺序对应
- insert into 表名 values(列1的值,列n的值)
- insert into 表名 select 列1的值,列n的值
全列多行插入
- insert into 表名 values(列1的值,列n的值) , (列1的值,列n的值)
- insert into 表名 select 列1的值,列n的值 union select 列1的值,列n的值 union select…
查询旧表数据插入到新表(自动新建表)
- select 列名1,列名n into 新表名 from 表名
插入常量列
- select 列名,‘常量列’ from 表名
02. 删除
基本删除:delete form 表名 where 条件
- 范围:表格、视图、不会减少所占用空间
删除全部行、且不记录日志:truncate table 表名
- 范围:表格、删除后占用空间恢复为初始大小
删除整个表、且不记录日志:drop table 表名
- 范围:表格、占用空间全部释放,存储过程和函数变更为invalid
删除数据库:DROP DATABASE 数据库名1,数据库名n
速度:drop>truncate>delete
逻辑删除:并不是真正的删除,而是在表中添加一个字段,用字段值标记数据是否已删除,查询时跳过这些数据
- update 表名 set 字段=字段值标记 where 条件
03. 修改
基本修改:update 表名 set 列名1=值1 列名2=值2 where 条件
04. 查询
基本查询
- 查询所有列:select * from 表名
- 查询指定列:select 列名1,列名2 from 表名
- 条件查询:查询语句 where 条件
查询列并起别名:as
- 方法1:select 列名 as 别名 from 表名
- 方法2:select 列名 别名 from 表名
- 方法3:select 别名=列名 from 表名
查询数据空或非空:is null
- 为空:select * from 表名 where 列名 is null
- 非空:select * from 表名 where not(列名 is null)
查询限制输出行数:top
- 数量:select top 数量 * from 表名
- 百分比:select top 百分比数值 percent * from 表名
输出排序:order by、写在where后面
- 升序:select * from 表名 order by 列名 asc
- 降序:select * from 表名 order by 列名 desc
- 二次排序:select * from 表名 order by 列1 排序规则, 列n 排序规则
搜索查询
- 模糊搜索:select * from 表名 where 列名 like 搜索条件
- 范围搜索:select * from 表名 where 列名 between 最小值 and 最大值
- 范围搜索:select * from 表名 where 列名 in (‘值1’,‘值n’)
分页查询:select * from 表名 limit start=默认0, num2
- 从start开始,获取num2条数据
分组查询:group by
- 分组:select 列名 from 表名 group by 列名1
- 多列分组:select 列名 from 表名 group by 列名1, 列名n
- 出现在select后面的字段,要么是聚合函数中的,要么是group by中的
- 筛选:先用where筛选, 再用group by分组, 再用having从分组筛选
- where:筛选from子句产生的行
- group by:分组where的输出 having:从分组的结果中筛选行
编写顺序
- select 行数 * from 表 条件 分组 排序