DML语句用来对表中的记录进行 增删改 操作。

5.1 插入


语法:insert into 表名(字段名,…) values(值1,…);

特点:

  1. insert语句用来给表的字段插入值,字段的类型和值的类型要一致或者兼容,字段个数和值个数要必须一致。
  2. 如果插入全部字段的值,可以省略字段名。
  3. 如果插入部分字段的值,则必须写字段名,没有插入值的字段会使用NULL值或默认值填充。即没有提供值的字段要么允许为空(null),要么有默认值,否则会出错。
  4. MySQL特有的批量插入语法:insert into 表名(字段名,…) values(值1,..), (值1,..)

image.png

5.2 修改


语法:update 表名 set 列名1=新值1,列名2=新值2… [ where 条件表达式]

如果省略where子句,表示修改表的所有记录

示例1:修改一条记录,把id为4的学生的年龄改成28
image.png

示例2:修改所有记录,把所有人年龄改成36
image.png

5.3 删除


delete from 表名 [ where 条件表达式]

如果省略where子句,表示删除表的所有记录

例如:
image.png

如果要删除表的全部记录,还可以使用truncate语句:truncate table表名

面试题:delete和truncate删除的区别?

  1. truncate不能加where条件,而delete可以加where条件
  2. truncate删除不能回滚(永久删除),delete删除可以回滚
  3. truncate删除表的全部记录,效率比delete语句高