博客
关于我
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 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询数据库所有表的字段信息
    查看>>
    【Java基础】什么是面向对象?
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>