四、DML语言

文章目录

    • 简介
    • 主要操作
    • 插入语句
      • 语法
        • 方式一
        • 方式二
        • 区别
        • 注意
    • 修改语句
      • 修改单表
    • 删除语句
      • DELETE
        • 语法
      • TRUNCATE
        • 语法
      • 两种删除总结

简介

DML语言就是数据操作语言

主要操作

  1. 插入:insert
  2. 修改:update
  3. 删除:delete

插入语句

语法

方式一

  1. 支持多个:insert into 表名(列名…) values(值…),(值…);
  2. insert into 表名(列名…) value(值…);

方式二

  1. insert into 表名 set 列名1=值1, set 列名1=值1;

区别

方式一支持插入多行,方式二不支持;

方式一支持子查询,方式二不支持。

注意

  1. 不能为空的列必须插入值

  2. 可为空的列插入值方式

    1. 如果不指定,数据库自动加入默认值

修改语句

修改单表

语法

update 表名 set 列名=值,列名=值 where 条件;

修改多表

语法

update user u inner jion user_address ua on u.id = ua.user_id

set ua.address=‘浙江杭州’ where u.id = 1;

删除语句

DELETE

语法

单表:

delete from 表名 where 筛选条件;(如不加条件,默认删除全表)

多表:

sql 92语法:

delete 别名a, 别名b

from 表1 别名a, 表2 别名b

where 连接条件 and 筛选条件;

sql 99语法:

delete 别名1,别名2

from 表1 别名1 inner|left|right join 表2 别名2 on 连接条件

where 筛选条件;

TRUNCATE

语法

truncate table 表名; (不能加条件,删除全表)

两种删除总结

  1. delete 可以加条件,truncate 不能加条件;
  2. 如果想要清空表记录,使用 truncate 效率更高;
  3. 假如要删除的表中有自增长列,如果用delete删除,再插入数据,自增长的值从断点处开始,而 truncate 删除后,再插入数据,自增长列的值从1开始;
  4. truncate 删除没有返回值,delete 支持返回值(返回值指的是,几行受影响);
  5. truncate 没有事务回滚,delete 支持事务回滚。

你可能感兴趣的:(mysql)