一、插入语句
MySql插入语句有两种方式,如下:
# 方式一
insert into 表名(列名,……)
values(值1,……),(值2,……)
# 方式二
insert into 表名
set 列名=值,列名=值,……
使用方式一,可以插入多行数据,但是方式二一次只能插入一条数据。
方法一支持子查询,方式二不支持
需要注意的是:
1. 插入的值类型必须与列的类型一致或兼容
2. 可以为null的列,插入值有两种方式:
# 方式一
insert into boys(id,name,sex,phone)
values (1,'Tom','boy',null)
# 方式二
insert into boys(id,name,sex)
values (1,'Tom','boy')
3. 列只要和值一一对应,顺序可以点到颠倒的
4. 列数和值数必须一致
5. 可以省略列名,默认为所有列,列的顺序与表中顺序相同
二、修改语句
# 修改单表记录
update 表名
set 列=值,列=值,……
where 筛选条件
# 修改多表记录
update 表1 别名
inner|left|right| join 表2 别名
on 连接条件
set 列=值,……
where 筛选条件
三、删除语句
# 单表删除
delete from 表名 where 筛选条件
# 多表删除
delete 表1 别名,表2 别名
from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件
# 整个表删除
truncate table 表名;
区别:
1. delete可以添加where条件,truncate不可以
2. truncate删除效率更高
3. 假如要删除表中的自增长列
如果delete删除后,再插入数据,自增长列的值从断点开始
如果是truncate后,再插入数据,从1开始
4. truncate删除没有返回值,delete删除有返回值
5. truncate删除不能回滚,delete删除可以回滚