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

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回滚、保存点
http://www.jsqmd.com/news/88293/

相关文章:

  • 30、编写脚本与项目开发入门
  • 28、Glade开发指南与pkg-config工具介绍(上)
  • 不带头节点的链式存储实现链栈
  • vue基于Spring Boot框架的技术的网上购物商城系统开发商家_9ah8o18s
  • Tarjan全家桶系列--割点
  • Flink SQL 模式识别用 MATCH_RECOGNIZE 把 CEP 写成 SQL
  • [编程杂谈]这题怎么这么难!!!(上)
  • Flink SQL Time Travel用 FOR SYSTEM_TIME AS OF 查询历史快照
  • AI:深度学习的前向传播和反向传播
  • 31、脚本编程进阶:Here文档、自上而下设计与流程控制
  • 基于SSM的高校大学生就业平台的设计与实现
  • vue基于Spring Boot框架的数字乡村旅游景点预约平台的设计与实现_ax346a6i
  • 计算机毕业设计springboot高考志愿智能推荐系统 基于SpringBoot的考后择校智慧匹配平台 面向新高考的SpringBoot个性化志愿辅助决策系统
  • AI:深度学习中反向传播中的链式法则和梯度
  • 英语_阅读_2019 Young Scientist Challenge_待读
  • 《Ascend C 进阶实战:高性能通用 Softmax 算子设计、数值稳定性与多轴支持》
  • 29、《pkg-config与GNU Autotools使用指南》
  • 计算机毕业设计springboot汽车智慧检修系统 基于SpringBoot的智能汽车故障预测与维修管理平台 融合IoT的SpringBoot车辆健康监测与维修决策系统
  • 蓝牙连接例程/蓝牙收发信号引出
  • 题目集 4~5 总结性 Blog
  • Java-TestNG——.xml文件的tests
  • 销售助手-推荐系统
  • 腾讯ACE误封禁
  • 兜兜英语每日短语:逃单篇
  • 【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列 - 教程
  • 基于微信小程序的驾校模拟考试系统的设计与实现 - 详解
  • 你写的不是代码,是生存的底气|从“制造思维”到“生长思维”的范式革命
  • Octo论文详解
  • 移动应用开发实验室大一上考核
  • DAY 8 打卡训练