4.1添加数据
方式一:
insert into 表名(字段名1,字段名,……,字段名n)values (值1,值2,……,值n);
方式二:
insert into set 字段1=值,……,字段n=值;
注意:
- 插入时,要求值的类型和字段的类型要一直或者兼容
- 字段的个数和顺序不一定与原始表中的的顺序和个数一致,但必须保证值和字段一一对应
- 加入表中有可以为null的字段,可以通过两种方式插入
null值- 字段和值都省略
- 字段写上,值使用
null - 字段名可以省略,默认所有列
两种添加数据方式的区别:
方式一支持一次插入多行
-例如
insert into 表名[(字段名,……)]values (值……),(值……),(值……),………………,(值……);
方式一支持子查询
- 例如
insert into 表名查询语句;
4.2修改数据
修改单表的数据
update 表名set 字段=新值, 字段=新值, ……[where筛选条件]
修改多表的数据
update 表1 别名inner | left | right join 表2 别名on 连接条件set 字段=新值, 字段=新值, ...[where筛选条件]
4.3删除数据
delete删除
删除单表记录
delete from 表[where筛选条件][limit条目数]
级联删除
# 要删除哪个表就把哪个表的别名写在delete后面,如果都要删,就都写delete 别名1, 别名2from 表1 别名1inner|left|right join 表2 别名2on 连接条件[where筛选条件]
truncate截断
truncate 表名
delete 和 truncate的区别
- 自增长列数值的区别
- truncate删除后,如果再插入新的数据,自增长列的值从1开始
- delete删除后,如果再插入新的数据,自增长列的值从断点开始
- 筛选条件区别
- delete可以添加where筛选条件
- truncate不可以添加筛选条件
- 返回值区别
- delete有返回值(受影响的行数)
- truncate没有返回值
- 回滚区别
- delete可以回滚
- truncate不可以回滚
- 速度区别(truncate速度比delete快)
- truncate底层是把表drop掉,然后新建了一张空表
- delete底层是一行一行的删除数据
