MySQL[笔记][DML语言]
发布日期:2021-05-19 18:19:22 浏览次数:16 分类:精选文章

本文共 2073 字,大约阅读时间需要 6 分钟。

DML语言

数据操作语言包括插入、修改和删除三种操作。

一、插入语句

插入语句用于向数据库表中插入新的记录。其语法如下:

insert into 表名(列名,…) values(值1,…);

示例

insert into beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) values(13,‘migo’,‘女’,‘1990-4-23’,‘18988888888’,NULL,2);

注意事项

  • #1. 插入的值类型必须与数据类型兼容。
  • #2. 不可为null的列必须提供值。如果某列可以为null,可通过以下方式处理:
    • 方式一:经典插入法
    • 方式二:使用set语法
  • 示例

    方式一: insert into beauty(id,NAME,sex,photo,boyfriend_id) values(14,‘offset’,‘女’,9);

    方式二: insert into beauty(id,NAME,sex,photo,boyfriend_id) set id=14, NAME=‘offset’,photo=9;

    常见问题

  • #3. 列的顺序是否可以调换?
  • #4. 列数和值的个数是否一致?
  • #5. 是否可以省略列名,默认所有列?
  • 示例

    省略列名方式: insert into beauty values(18,‘travisscott’,‘女’,NULL,‘999’,NULL,NULL);

    二、修改语句

    修改语句用于更新数据库中现有记录的值。其语法如下:

    单表修改

    update 表名 set 列=新值,列=新值,… where 筛选条件;

    多表修改

    支持两种语法:

    • SQL92语法
    • SQL99语法

    示例

    SQL92语法: update boys bo set b.boyfriend_id=2 where bo.id is null;

    SQL99语法: update boys inner join beauty b on bo.id = b.boyfriend_id set b.phone=‘222’ where bo.boyName=‘张无忌’;

    三、删除语句

    删除语句用于从数据库中删除记录。其语法如下:

    单表删除

    delete from 表名 where 筛选条件;

    多表删除

    支持两种语法:

    • SQL92语法
    • SQL99语法

    示例

    SQL92语法: delete bo, b from boys bo join beauty b on bo.id = b.boyfriend_id where bo.boyName=‘黄晓明’;

    SQL99语法: delete boys from boys b inner join beauty bb on b.id = bb.boyfriend_id where b.boyName=‘张无忌’;

    注意事项

    • delete语句可以加where条件,但truncate不能。
    • truncate删除效率高,但无法回滚。
    • truncate适合清空表中所有数据。

    示例: truncate table boys;

    技术案例

  • создание表my_employees
  • use myemployees;
    1. 查看表结构
    2. desc my_employees;
      1. 插入数据(方式一)
      2. insert into my_employees values(1,‘patel’,‘Ralph’,‘Rpatel’,895), 
        (2,‘Dancs’,‘Betty’,‘Bdancs’,860),
        (3,‘Biri’,‘Ben’,‘Bbiri’,1100),
        (4,‘Newman’,‘Chad’,‘Cnewman’,1550),
        (5,‘Ropeburn’,‘Audrey’,‘Aropebur’,1550);
        1. 插入数据(方式二)
        2. insert into my_employees select 1,‘patel’,‘Ralph’,‘Rpatel’,895
          union select 2,‘Dancs’,‘Betty’,‘Bdancs’,860
          ...
          1. 修改员工信息
          2. update my_employees set last_name=‘drelxer’ where id=3;
            1. 调整薪资
            2. update my_employees set salary=1000 where salary<900;
              1. 删除相关数据
              2. delete u, e from users u join my_employees e on u.userid=e.userid where userid=‘Bbiri’;
                1. 删除所有数据
                2. delete from my_employees;
                  delete from users;
                  1. 检查数据
                  2. select * from my_employees;
                    select * from users;

                    10.清空表

                    truncate table my_employees;
    上一篇:MySQL[笔记][存储过程]
    下一篇:MySQL错误1366处理方法

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月20日 06时15分44秒