【MySQL2】| DML数据操作语言

一、DML 语句概述

DML(Data Manipulation Language,数据操作语言),主要用于对数据库表中的数据记录进行增、删、改操作,是日常开发中最常用的 SQL 语句之一。

核心操作:

  • 新增数据:INSERT
  • 修改数据:UPDATE
  • 删除数据:DELETE

二、INSERT 新增数据

用于向数据表中添加单条 / 多条数据记录。

1、语法规则

-- 单条插入(指定字段)INSERT INTO 表名 (字段 1, 字段 2, ...) VALUES (值 1, 值 2, ...);

-- 单条插入(省略字段,默认匹配表所有字段)INSERT INTO 表名 VALUES (值 1, 值 2, ...);

-- 批量插入INSERT INTO 表名 (字段 1, 字段 2, ...) VALUES (值 1, 值 2...), (值 1, 值 2...), (值 1, 值 2...);

2、插入数据核心注意事项

  • 字段顺序和值的顺序必须一一对应,数据类型、数量保持一致
  • 字符串、日期类型的数据,必须用英文单引号 '' 包裹
  • 插入的数据长度、范围,必须符合字段的约束规则(如长度、数值范围)
  • 所有标点符号必须为英文符号(杜绝中文逗号、引号)

3、实操案例(employee 员工表)

-- 单条数据插入(修正原笔记拼写错误:vlaues → values)INSERT INTO employee (id, workno, name, gender, age, idcard, entrydate)VALUES (1, '1', 'Itcast', ' 男 ', 10, '123456789012345678', '2000-01-01');

-- 批量数据插入INSERT INTO employee (id, workno, name, gender, age, idcard, entrydate)VALUES(2, '2', ' 小昭 ', ' 女 ', 22, '123456789012345679', '2010-02-01'),(3, '3', ' 小明 ', ' 男 ', 25, '123456789012345680', '2015-03-10');

-- 查询表数据(验证插入结果)SELECT * FROM employee;

三、UPDATE 修改数据

用于修改表中已存在的数据,支持单字段、多字段修改。

1、语法规则

UPDATE 表名 SET 字段 1 = 值 1, 字段 2 = 值 2, ... WHERE 条件;

2、核心注意事项

  • 重中之重:省略 WHERE 条件时,会更新整张表的所有数据!(高危操作,谨慎使用)
  • 支持同时修改多个字段,字段之间用英文逗号分隔
  • 修改的值需要符合字段数据类型和约束

3、实操案例

-- 单字段修改:修改 id=1 的员工姓名UPDATE employee SET name = 'itheima' WHERE id = 1;

-- 多字段修改:同时修改姓名、性别UPDATE employee SET name = ' 小昭 ', gender = ' 女 ' WHERE id = 1;

-- 无条件修改(全局更新,慎用!)UPDATE employee SET entrydate = '2000-01-01';

四、DELETE 删除数据

用于删除表中的单条 / 多条 / 全部数据记录。

1、语法规则

DELETE FROM 表名 WHERE 条件;

2、核心注意事项

  • 省略 WHERE 条件时,会删除整张表的所有数据!(高危操作,生产环境禁止随意使用)
  • DELETE 仅删除表数据,不会删除表结构、字段、约束
  • 删除数据不可逆,执行前建议先通过 SELECT 查询确认数据

3、实操案例

-- 条件删除:删除所有性别为女的员工DELETE FROM employee WHERE gender = ' 女 ';

-- 清空整张表数据(慎用!)DELETE FROM employee;

五、DML 核心语法总结

1、新增数据INSERT INTO 表名 (字段 1, 字段 2...) VALUES (值 1, 值 2...);

2、修改数据UPDATE 表名 SET 字段 1 = 值 1, 字段 2 = 值 2... WHERE 条件;

3、删除数据

相关推荐
jiushidt13 分钟前
在 DBeaver 中为 SQLite 启用 SpatiaLite
数据库·sqlite
码士集团小青31 分钟前
Google 开源了啥,让 AI Agent 碰数据库不再是定时炸弹
数据库·oracle
CS创新实验室1 小时前
数据库突然断电,凭什么没丢数据?——WAL 日志与崩溃恢复
数据库·mysql
Warolitbos1 小时前
【数据库】SQL面试基础15题,测试/开发必背速查
数据库
ClouGence1 小时前
开源数据库管理工具 CloudDM 新版本上线,新增 AI SQL 助手,支持 Elasticsearch、崖山数据库
数据库·sql·elasticsearch
留岁2 小时前
【无标题】
sql
润乾软件2 小时前
TRAE + SQLazy MCP 自动化编写 SQL 实践
sql·sqlazy
ly76892 小时前
PostgreSQL 执行计划深读:从 EXPLAIN 输出到代价模型驱动的 SQL 改写
数据库·sql·postgresql·explain·执行计划·代价模型
Python自动化直播2 小时前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库
xiaomuzuirenzhen2 小时前
2027校招ERP实施顾问:大数据管理与应用专业如何用SQL、BI证明业务能力
大数据·数据库