博客
关于我
MySQL学习笔记(九)—— MySQL的DML语言
阅读量:727 次
发布时间:2019-03-21

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

数据操作语言:插入、修改与删除

在数据库管理中,插入、修改和删除是最常用的操作。掌握这些语句能够帮助开发者高效维护数据库,确保数据的准确性和完整性。本文将详细介绍这些操作的语法以及实际应用场景。


一、插入语句

插入语句用于向数据库中添加新的记录。支持两种主要方式。

方式一:经典插入

语法:

INSERT INTO 表名(列名1, 列名2, ...) VALUES(值1, 值2, ...);

示例:

INSERT INTO beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id) VALUES(13, '唐艺昕', '女', '1990-4-23', '1898888888', NULL, 2);

关键点:

  • 值与列一致:插入的值必须与目标列的数据类型兼容。
  • 默认值处理:允许插入 NULL 的列不需要指定值,但不能为必须不允许 NULL 的列插入 NULL
  • 列顺序灵活:插入时可以随意调整列的顺序,只要与表中定义一致。
  • 值数量一致:插入的值数量必须等于目标列的数量。

  • 方式二:使用 SET 关键字

    语法:

    INSERT INTO 表名 SET 列名 = 值, 列名 = 值, ...;

    示例:

    INSERT INTO beauty SETid = 19,NAME = '刘涛',phone = '999';

    优点:

    • 更适合批量更新或单列插入。
    • 不支持插入多行数据。

    多值插入示例

    方式一支持插入多行数据:

    INSERT INTO beauty VALUES(23, '唐艺昕1', '女', '1990-4-23', '1898888888', NULL, 2),(24, '唐艺昕2', '女', '1990-4-23', '1898888888', NULL, 2),(25, '唐艺昕3', '女', '1990-4-23', '1898888888', NULL, 2);

    二、修改语句

    修改语句用于更新已有记录的列值,可以针对单表或多表完成。

    单表修改示例

    语法:

    UPDATE 表名 SET 列名 = 新值, 列名 = 新值 ... WHERE 筛选条件;

    案例:

    -- 修改姓唐女神的电话号码UPDATE beauty SET phone = '13899888899' WHERE NAME LIKE '唐%';

    多表修改示例

    语法:

  • SQL92:支持列别名:
  • UPDATE 表1 别名, 表2 别名 SET 列=值 ... WHERE 连接条件 AND 筛选条件;
    1. SQL99:支持Join语法:
    2. UPDATE 表1 别名 inner|left|right join 表2 别名 ON 连接条件 SET 列=值 ... WHERE 筛选条件;

      案例:

      -- 修改张无忌女朋友的手机号UPDATE boys bo INNER JOIN beauty b ON boboyfriend_id = bboyfriend_id SET bphone = '119', bo.usercp = 1000 WHERE bo.boyname = '张无忌';

      删除语句

      删除操作分为两种方式:DELETETRUNCATE


      方式一:使用 DELETE

      语法:

    3. 单表删除:
    4. DELETE FROM 表名 WHERE 筛选条件;
      1. 多表删除:
      2. DELETE 表1_别名, 表2_别名 FROM 表1_别名, 表2_别名 WHERE 连接条件 AND 筛选条件;

        案例:

        -- 删除张无忌女朋友的信息DELETE b FROM beauty b INNER JOIN boys bo ON b.boyfriend_id = bo.id WHERE bo.boyname = '张无忌';

        方式二:使用 TRUNCATE

        语法:

        TRUNCATE TABLE 表名;

        特点:

      3. 不能添加 WHERE 条件。
      4. 适合清空表且不关心自增字段的值。
      5. 操作后无法回滚。
      6. 案例:

        TRUNCATE TABLE boys;

        数据删除注意事项

      7. DELETE:支持添加筛选条件,删除部分数据。
      8. TRUNCATE:删除全部数据,且不能回滚。
      9. 自增列:删除操作后,自增字段会重置为初始值或断点。

      10. 总结

        掌握插入、修改和删除语句的使用方式,是数据库管理的基础功课。通过合理运用这些操作,可以打造高效的数据管理流程,确保数据库的稳定性和安全性。

    转载地址:http://dhtgz.baihongyu.com/

    你可能感兴趣的文章
    MySQL中interactive_timeout和wait_timeout的区别
    查看>>
    mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
    查看>>
    mysql中json_extract的使用方法
    查看>>
    mysql中json_extract的使用方法
    查看>>
    mysql中kill掉所有锁表的进程
    查看>>
    mysql中like % %模糊查询
    查看>>
    MySql中mvcc学习记录
    查看>>
    mysql中null和空字符串的区别与问题!
    查看>>
    MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
    查看>>
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>