4.1添加数据

方式一:

  1. insert into 表名(字段名1,字段名,……,字段名n)
  2. values (值1,值2,……,值n);

方式二:

  1. insert into set 字段1=值,……,字段n=值;

注意:

  1. 插入时,要求值的类型和字段的类型要一直或者兼容
  2. 字段的个数和顺序不一定与原始表中的的顺序和个数一致,但必须保证值和字段一一对应
  3. 加入表中有可以为null的字段,可以通过两种方式插入null
    • 字段和值都省略
    • 字段写上,值使用null
    • 字段名可以省略,默认所有列

两种添加数据方式的区别:
方式一支持一次插入多行
-例如

  1. insert into 表名[(字段名,……)]
  2. values (值……),
  3. (值……),
  4. (值……),
  5. ………………,
  6. (值……);

方式一支持子查询

  • 例如
  1. insert into 表名
  2. 查询语句;

4.2修改数据

修改单表的数据

  1. update 表名
  2. set 字段=新值, 字段=新值, ……
  3. [where筛选条件]

修改多表的数据

  1. update 1 别名
  2. inner | left | right join 2 别名
  3. on 连接条件
  4. set 字段=新值, 字段=新值, ...
  5. [where筛选条件]

4.3删除数据

delete删除

删除单表记录

  1. delete from
  2. [where筛选条件]
  3. [limit条目数]

级联删除

  1. # 要删除哪个表就把哪个表的别名写在delete后面,如果都要删,就都写
  2. delete 别名1, 别名2
  3. from 1 别名1
  4. inner|left|right join 2 别名2
  5. on 连接条件
  6. [where筛选条件]

truncate截断

  1. truncate 表名

delete 和 truncate的区别

  1. 自增长列数值的区别
    • truncate删除后,如果再插入新的数据,自增长列的值从1开始
    • delete删除后,如果再插入新的数据,自增长列的值从断点开始
  2. 筛选条件区别
    • delete可以添加where筛选条件
    • truncate不可以添加筛选条件
  3. 返回值区别
    • delete有返回值(受影响的行数)
    • truncate没有返回值
  4. 回滚区别
    • delete可以回滚
    • truncate不可以回滚
  5. 速度区别(truncate速度比delete快)
    • truncate底层是把表drop掉,然后新建了一张空表
    • delete底层是一行一行的删除数据