news 2026/7/31 11:45:09

SQL的分类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL的分类

一、数据查询语言

(DQL, Data Query Language)

核心作用:从数据库中查询 / 检索数据(仅读取,不修改数据),是最常用的 SQL 类别。

核心关键字SELECT(核心)、FROMWHEREGROUP BYHAVINGORDER BYLIMITJOIN等。

示例:

-- 查询年龄大于20的用户姓名和手机号,按年龄降序排列 SELECT name, phone FROM users WHERE age > 20 ORDER BY age DESC -- LIMIT 10;

二、数据操作语言

(DML, Data Manipulation Language)

核心作用:操作(增 / 删 / 改)数据库中的数据(仅修改数据内容,不改变表结构)。

核心关键字INSERT(新增)、UPDATE(修改)、DELETE(删除)、MERGE(合并,部分数据库支持)。

示例:

-- 新增一条用户记录 INSERT INTO users (name, age, phone) VALUES ('张三', 25, '13800138000'); -- 修改用户手机号 UPDATE users SET phone = '13900139000' WHERE id = 1; -- 删除年龄小于18的用户 DELETE FROM users WHERE age < 18;

三、数据定义语言

(DDL, Data Definition Language)

核心作用:定义 / 修改 / 删除数据库对象(表、索引、视图、触发器、数据库等)的结构,操作会直接生效(无需事务提交)。

核心关键字CREATE(创建)、ALTER(修改)、DROP(删除)、TRUNCATE(清空表,属于 DDL 而非 DML)、RENAME(重命名)。

示例:

-- 创建用户表 CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT, phone VARCHAR(20) UNIQUE ); -- 给用户表新增email字段 ALTER TABLE users ADD COLUMN email VARCHAR(100); -- 删除用户表 DROP TABLE users; -- 清空用户表(删除所有数据且不可回滚) -- TRUNCATE TABLE users;

注意:执行后通常需要COMMIT(提交)确认修改,或ROLLBACK(回滚)撤销修改(事务控制)。

四、数据控制语言

(DCL, Data Control Language)

核心作用:管理数据库的权限和事务,控制用户对数据库的访问权限、事务提交 / 回滚等。

核心关键字GRANT(授权)、REVOKE(撤销权限)、COMMIT(提交事务)、ROLLBACK(回滚事务)、SAVEPOINT(保存点)、SET TRANSACTION(设置事务属性)。

示例:

-- 授予用户test对users表的查询/插入权限 GRANT SELECT, INSERT ON users TO 'test'@'localhost'; -- 撤销test用户的插入权限 REVOKE INSERT ON users FROM 'test'@'localhost'; -- 提交事务(确认DML操作) COMMIT; -- 回滚事务(撤销未提交的DML操作) ROLLBACK;

五、事务控制语言

(TCL, Transaction Control Language)

补充说明:部分分类体系中,TCL 会从 DCL 中独立出来,专门聚焦事务管理(本质是 DCL 的子集)。

核心关键字COMMITROLLBACKSAVEPOINT

示例:

-- 开启事务(部分数据库需显式声明) START TRANSACTION; UPDATE users SET age = 26 WHERE id = 1; -- 设置保存点 SAVEPOINT sp1; DELETE FROM users WHERE id = 2; -- 回滚到保存点(仅撤销删除操作,修改操作保留) ROLLBACK TO sp1; -- 提交最终修改 COMMIT;

总结:

分类核心作用核心关键字典型操作
DQL查询数据SELECT、FROM、WHERE多表查询、统计
DML增删改数据INSERT、UPDATE、DELETE新增记录、改值
DDL定义 / 修改数据库结构CREATE、ALTER、DROP建表、删索引
DCL权限 / 事务控制(广义)GRANT、REVOKE、COMMIT授权、提交事务
TCL事务控制(狭义)COMMIT、ROLLBACK、SAVEPOINT回滚、保存点
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 5:15:51

34、Bash脚本中的循环控制与故障排查

Bash脚本中的循环控制与故障排查 1. 循环控制 在Bash脚本中,循环是一种强大的工具,可用于重复执行特定的代码块。下面将介绍 while 、 until 循环以及如何在循环中控制程序流程。 1.1 while 循环 while 循环会在条件为真时持续执行代码块。以下是一个简单菜单程序…

作者头像 李华
网站建设 2026/7/29 21:42:40

直接撸起袖子开干!今天咱们聊聊怎么用LabVIEW整一个带报警记录的上位机监控系统。这玩意儿在工业现场特别实用,尤其是需要24小时盯着设备状态的时候

labview上位机监测报警记录&#xff0c;状态显示。 报警记录存储&#xff0c;存储格式txt。 csv保存文件。先看状态显示部分。LabVIEW的前面板放几个指示灯控件就能实时反映设备状态&#xff0c;比如用绿色圆形表示正常&#xff0c;红色三角表示报警。背后用个While循环不断读取…

作者头像 李华
网站建设 2026/7/30 4:28:35

基于A*算法的无人机三维动态避障路径规划设计,MATLAB编程实现

基于A* 算法的无人机三维路径规划算法&#xff0c;可以动态避障&#xff0c;自己可以规定设计障碍物位置&#xff0c;MATLAB编程实现。 无人机在三维空间耍杂技这事儿&#xff0c;靠的就是路径规划的真功夫。今天咱们来聊个硬核玩法——基于MATLAB实现的A*算法三维动态避障系统…

作者头像 李华
网站建设 2026/7/30 17:33:02

基于vue的宠物寄养机构管理系统_96zn64i1_springboot php python nodejs

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/7/30 14:49:40

20、GTK+ Tree View 开发指南

GTK+ Tree View 开发指南 1. 引言 在 GTK+ 开发中,Tree View 是一个非常重要的组件,它实现了 MVC(Model-View-Controller)模式中的视图部分。用户可以通过 Tree View 与数据进行交互,如选择行、展开或折叠树等。本文将详细介绍 GTK+ 中 Tree View 的相关函数、属性、信号…

作者头像 李华
网站建设 2026/7/30 7:36:55

22、文本缓冲区操作全解析

文本缓冲区操作全解析 1. 文本缓冲区基础 1.1 基本特性 文本缓冲区采用 UTF - 8 编码,这使得字节计数(索引)和字符计数(偏移量)有所不同。一个文本缓冲区至少包含一行(可能为空),除最后一行外,每行以行分隔符结尾,行分隔符被视为一个字符,它可以是 Unix 换行符、…

作者头像 李华