插入语句(insert)
方式一
语法:
insert into 表名(列名1,...)
values(值1,...);
- 插入的值类型要与列兼容
- 列和值的个数必须一致
- 可以省略列名,此时默认所有列
方式二
语法:
insert into 表名
set 列名1=值1, 列名2=值2, ...;
两种方式比较:
- 方式一支持插入多行,方式二不支持
insert into 表名(列1,...)
values(值1, ...),
(值2, ...),
(值3, ...);
- 方式一支持子查询,方式二不支持
insert into 表名(列1,...)
查询语句;
修改语句(update)
修改单表记录
语法:
update 表名
set 列1=新值1, 列2=新值2, ...
where 筛选条件
修改多表记录
语法:
#sql92语法
update 表1 别名, 表2 别名
set 列=值,...
where 连接条件
and 筛选条件;
#sql99语法
update 表1 别名
jointype join 表2 别名
on 连接条件
set 列=值, ...
where 筛选条件
删除语句(delete)
方式一
该方式能删除多条记录
语法:
#单表删除
delete from 表名 where 筛选条件
#多表删除(92类似地)
delete 表1的别名, 表2的别名
from 表1 别名
jointype join 表2 别名 on 连接条件
where 筛选条件;
(要删除哪个表的记录delete后面就加哪个别名)
方式二
该方式可以删除一整个表
语法:
truncate table 表名
方式比较:
- delete可以加where条件,truncate不可以
- 若要删除的表中有自增长列(比如有的表的字段id):delete删除后再插入数据,自增长列的值从断点开始;truncate则是从1开始。(truncate可以理解为删除旧表创建了新表,delete则是在旧表的基础上做加减)
- truncate删除没有返回值;delete删除有返回值
- truncate删除可以回滚,delete不可以