MySQL数据操作语言——插入语句、修改语句和删除语句

MySQL数据操作语言——插入语句、修改语句和删除语句数据操作语言 DML Data Manipulate Language 包括 插入 insert 修改 update 删除 delete 一 插入语句 方式一 经典插入 1 语法 insert into 表名

大家好,我是讯享网,很高兴认识大家。

数据操作语言 (DML:Data Manipulate Language )包括:
插入:insert
修改:update
删除:delete

一、插入语句

方式一:(经典插入)

1. 语法:
          insert into 表名 ( 列名,…)
          values ( 值1,…) ;

# 案例 #:
在jobs表中插入job_id为TA_REP ,job_title为Clerk,min_salary为6000 ,max_salary为18000.
在这里插入图片描述
讯享网
2. 特点:
         ① 插入的值的类型要与列的类型一致或兼容
         ② 不可以为null的列必须插入值;
              可以为空的列插入值,可以将列名和值都省略;也可以写好列名,值用null填充
         ③ 列的顺序可以调换
         ④ 列数和值的个数必须一致
         ⑤ 列名可以省略,但默认所有列,并且列的顺序和表中列的顺序一致(如下案例)
在这里插入图片描述

方式二:

语法:
         insert into 表名
         set 列名=值,列名=值,……

# 案例 #:
在jobs表中插入job_ id为AB_MAN,job_ title为 Manager ,min_ salary为8000, max_ salary为20000.

在这里插入图片描述

两种方式的比较:

二、修改语句

1. 修改单表的记录

语法:
         update 表名
         set 列=新值,列=新值,……
       (要求值的类型和列要一致或者兼容,字符和日期型加单引号,数值型不用加,修改多列,中间用逗号隔开)
        【where 筛选条件】;

# 案例 #
修改部门表中的Adm的location_id为1600

首先, 查询departments表中的所有信息(其中Adm的location_id为1700)
在这里插入图片描述
其次,修改部门表中的Adm的location_id为1600
在这里插入图片描述

2. 修改多表的记录【补充】

语法:

sql92语法
                       update 表1 别名,表2 别名2
                       set 列=值,……
                       where 连接条件
                       and 筛选条件;
sql99语法
                       update 表1 别名
                       inner/left/right join 表2 别名
                       on 连接条件
                       set 列=值,……
                       where 筛选条件;

三、删除语句

方式一:delete语句

1. 单表的删除:

语法:
           delete from 表名 【where 筛选条件】

      ① 不加筛选条件,表中的数据全被删除;
      ② 加筛选条件是删除满足条件的部分行
      ③ 删除是删除整行;

#案例 #
删除编号以2开头的location_id信息
在这里插入图片描述
特别注意:(上述案例报错原因及解决方案如下:)

问题:        删除有外键关联的数据或者表的时候,mysql出现报错
解决方法: 先关闭外键约束,执行删除操作,然后再开启外键约束
在这里插入图片描述

2. 多表的删除:【补充】

sql92语法:
                   delete 表1的别名,【表2的别名】
                   from 表1 别名1,表2 别名2
                   where 连接条件
                   and 筛选条件;

sql99语法:
                   delete 表1的别名,【表2的别名】
                   from 表1 别名
                   inner/left/right join 表2别名on连接条件(相当于两个表连接出一个新的结果集,数据源)
                   where 筛选条件;

方式二:truncate语句

语法:
          truncate table 表名;

        ① 整个表中的数据全部删除(也称清空数据);
        ② 不能加where条件

【PS】巧记:(truncate语句)一删全删!

# 两种方式的区别 #:
        1. truncate不能加where条件,而delete可以加where条件.
        2. truncate 删除效率更高,一删全删.
        3. 假如要删除的表中有自增长列, 如果用delete 删除后,再插入数据,自增长列的值从断点开始;
            而truncate 删除后,再插入数据,自增长列的值从1开始.
        4. truncate删除没有返回值,delete删除有返回值.
        5. truncate删除不能回滚,delete删除可以回滚.

小讯
上一篇 2025-01-15 22:55
下一篇 2025-02-06 12:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/129622.html