当前位置: 首页 > news >正文

从零起步学习MySQL || 第三章:DML语句定义及常见用法示例

一、DML 是什么?

DML(数据操作语言)主要用于对数据库表中的数据进行增、删、改、查操作。
在 MySQL 中,常见的 DML 语句包括:

操作类型SQL语句说明
插入数据INSERT向表中新增记录
更新数据UPDATE修改已存在的记录
删除数据DELETE删除已有记录
查询数据SELECT检索数据(严格来说,SELECT 属于 DQL:Data Query Language)

不过在很多书籍和面试中,SELECT 也会被包含在 DML 的范畴中。


二、INSERT:插入数据

1. 基本语法

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

2. 示例

INSERT INTO student (id, name, age, major)
VALUES (1, '张三', 20, '计算机科学');

3. 一次插入多条数据

INSERT INTO student (id, name, age, major)
VALUES 
(2, '李四', 21, '软件工程'),
(3, '王五', 19, '人工智能');

4. 插入全部列

如果你给所有字段插入值,可以省略列名(但推荐写上):

INSERT INTO student VALUES (4, '赵六', 22, '网络工程');


三、UPDATE:更新数据

1. 基本语法

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

⚠️ 务必写 WHERE 条件,否则会修改整张表!

2. 示例

UPDATE student
SET age = 22, major = '大数据技术'
WHERE name = '张三';

3. 增加条件过滤

UPDATE student
SET major = '人工智能'
WHERE age > 20 AND major = '计算机科学';


四、DELETE:删除数据

1. 基本语法

DELETE FROM 表名 WHERE 条件;

2. 示例

DELETE FROM student WHERE id = 3;

⚠️ 同样注意:不加 WHERE 会删除表中所有数据!

DELETE FROM student;

这句会清空整个表,但表结构仍然保留。

3. 对比 TRUNCATE

TRUNCATE TABLE 表名;
作用也是清空表数据,但:

  • TRUNCATE 执行更快;

  • 不可回滚;

  • 会重置自增主键;

  • 属于 DDL(数据定义语言),不是 DML。


五、SELECT:查询数据

SELECT 是最常用的语句,查询数据的方式非常灵活。

1. 基本语法

SELECT 列1, 列2, ...
FROM 表名
WHERE 条件
ORDER BY 排序列
LIMIT 限制条数;

2. 示例

SELECT name, age FROM student;

3. 条件过滤

SELECT * FROM student WHERE age > 20;

4. 模糊查询

SELECT * FROM student WHERE name LIKE '张%';

% 表示任意字符序列。

5. 排序

SELECT * FROM student ORDER BY age DESC;

6. 限制条数(分页)

SELECT * FROM student LIMIT 5;           -- 前5条
SELECT * FROM student LIMIT 5, 5;        -- 从第6条开始取5条

7. 聚合函数

SELECT COUNT(*) AS 总人数, AVG(age) AS 平均年龄 FROM student;

8. 分组

SELECT major, COUNT(*) AS 人数
FROM student
GROUP BY major
HAVING 人数 > 2;


六、DML 操作与事务(Transaction)

在 Java 后端中,事务控制非常关键。
DML 语句会改变数据,因此要注意事务的一致性。

1. 开启与提交事务

START TRANSACTION;   -- 开始事务
UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;
COMMIT;              -- 提交事务

2. 回滚事务

ROLLBACK;  -- 撤销本次事务中未提交的修改

3. 与 Java 结合

在 Java 中,你通常会通过框架(如 Spring)来控制事务,例如:

@Transactional
public void transfer(int fromId, int toId, int amount) {accountMapper.decreaseBalance(fromId, amount);accountMapper.increaseBalance(toId, amount);
}


七、DML 语句的执行顺序(面试常问)

虽然 SQL 是声明式语言,但 MySQL 在执行查询时有内部逻辑顺序:

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT


八、总结表格

操作SQL 语句关键注意点
插入INSERT INTO列和值要匹配
更新UPDATE ... SET ... WHERE必写 WHERE
删除DELETE FROM ... WHERE小心误删
查询SELECT ... FROM ...支持条件、分组、排序、分页
事务START TRANSACTION / COMMIT / ROLLBACK保证数据一致性
http://www.dtcms.com/a/484476.html

相关文章:

  • 建站公司外包wordpress json 时间
  • php网站开发招招聘网页美工设计实训心得
  • 电子商务网站建设外包服务怎样登录韵网网站
  • 单页营销网站模板无锡app制作
  • seo蒙牛伊利企业网站专业性诊断成都小程序商城开发
  • 万户网站协作管理系统wordpress首页修改路径
  • 免费自助网站用户浏览网站的方式
  • 网站建设购物商城wordpress 咨询主题
  • WordPress强制更换主题佛山seo关键词
  • 如果做网站网站开发技术及特点
  • 齐齐哈尔哪里做网站外贸网站推广建设
  • 服务网站建设方案网络seo哈尔滨
  • 学网站建设语言资料管理系统
  • Bootstrap4 表格详解
  • 网站搜索不到公司网站凡科建站官网登录入口网页版
  • 创建网站app怎么注册中文域名
  • 织梦网站源文件没有style文件夹怎么修改网站背景wordpress 旅游足迹插件
  • 网站制作模板过程网页特效大全
  • 学校网站建设企业直播软件开发需要多少钱
  • 关于网站开发人员的薪资谢家华做网站
  • 基于springboot针对老年人的景区订票系统
  • 越秀区建网站公司如何做公司自己的网站
  • 网站建设网上商城心得体会九江市seo
  • 茂名做网站建设公司单页面网站有哪些内容
  • 京东联盟怎么做CMS网站wordpress国内博客主题
  • 公司网站在百度搜不到互联网
  • 公司网站的管理和维护电子商务平台是什么意思
  • 做网站的设计尺寸延吉网站开发公司
  • 制作一个网站数据库怎么做的深圳网页设计公司搜行者seo
  • 织梦个人网站模板永清县建设局 网站