数据操作语言
插入:insert
修改:update
删除:delete
一、插入语句
方式一
语法:
insert into 表名(列名,...) values(值1,...);
- 插入的值的类型要与列的类型一致或兼容
- 不可以为null的列必须插入值
- 列的顺序可以调换,但值必须对应
- 列数和值的个数必须一致
- 可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
方式二
语法:
insert into 表名 set 列名=值,列名=值,...
两种方式比较
- 方式一支持插入多行,方式二不支持
- 方式一支持子查询,方式二不支持
二、修改语句
1.修改单表的记录
语法:
update 表名 set 列=新值,列=新值,.. where 筛选条件
2.修改多表的记录
sql92语法:
update 表1 别名,表2 别名 set 列=值,... where 连接条件 and 筛选条件
sql99语法:
update 表1 别名 inner left|right join 表2 别名 on 连接条件 set 列=值,... where 筛选条件
三、删除语句
方式一
语句:
- 单表的删除
delete from 表名 where 筛选条件
- 多表的删除
sql92语法:
delete 别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件
sql99语法:
delete 表1的别名,表2的别名 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 where 筛选条件
方式二
语法:
truncate table 表名
删除整张表
两种方式的区别
- truncate不能加where
- truncate删除的效率要高一点
- 加入要删除的表中有自增长列,如果用delete删除后,在插入数据,自增长列的值从断点开始,而truncate删除后,在插入数据,自增长列的值从1开始
- truncate删除没有返回值,delete删除有返回值