文章目录
一.插入语句
方式一
insert into 表名(列名,…)
values(值1,…);
1.插入的值的类型要与列的类型一致或兼容
2.不可以为null的列必须插入值,可以为null的列如何插入值
3.列的顺序是否可以调换
可以
4.列数和值的个数必须一致
5.可以省略列名,默认所有列,而且列的顺序和表中的列的顺序一致
方式二
1.语法
insert into 表名
set 列名=值,列名=值,…
两种方式的比较
1.方式一支持插入多行,方式二不支持
2.方式一支持查询,方式二不支持
二.修改语句
语法
①修改单表的记录
update 表名
set 列=新值,列=新值,…
where 筛选条件;
案例:
①
②
②修改多表的记录
sql92语法:
update 表1 别名,表2 别名
set 列=值,…
where 连接条件
and 筛选条件;
sql99语法:
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,…
where 筛选条件;
案例:
①
②
3.删除语句
方式一(delete)
1.单表的删除
语句
delete from 表名 where 筛选条件
案例:
2.多表的删除
sql92语法:
delete 别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
sql99语法:
delete 表1的别名,表2的别名
from 表1 别名
inner|left|right 表2 别名 on 连接条件
where 筛选条件;
案例:
①
②
方式二(truncate)
语法
truncate table 表名;
两种方式比较 delete pk truncate
1.delete可以加where条件,truncate不能加
2.truncate 删除,效率高一点
3.假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始
4.truncate删除没有返回值,delete删除有返回值
5.truncate删除不能回滚,delete删除可以回滚