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

什么是数据库的DDL和DML,有什么区别?

数据库中的 DDL 和 DML 是两类不同的 SQL 语言,用于不同的数据库操作目的。以下是它们的定义、区别和具体说明:


1. DDL(Data Definition Language,数据定义语言)

作用:定义或修改数据库的结构(如创建、删除、修改表、索引、视图等)。
核心命令

  • CREATE:创建数据库对象(如表、索引)。
  • ALTER:修改现有数据库对象的结构(如添加列)。
  • DROP:删除数据库对象(如删除表)。
  • TRUNCATE:清空表数据(保留表结构,属于 DDL,而非 DML)。
  • RENAME:重命名对象(如表名)。

特点

  • 直接操作数据库的元数据(metadata)。
  • 自动提交(执行后立即生效,无法回滚)。
  • 通常需要较高权限(如管理员权限)。

示例

CREATE TABLE Students (id INT PRIMARY KEY,name VARCHAR(50)
);ALTER TABLE Students ADD COLUMN age INT;

2. DML(Data Manipulation Language,数据操作语言)

作用:对数据库中的数据进行增删改查操作。
核心命令

  • SELECT:查询数据。
  • INSERT:插入新数据。
  • UPDATE:修改现有数据。
  • DELETE:删除数据。

特点

  • 操作的是表中的具体数据(记录)。
  • 可通过事务(COMMIT/ROLLBACK)控制操作的提交或回滚。
  • 普通用户通常具有 DML 权限。

示例

INSERT INTO Students (id, name) VALUES (1, 'Alice');
UPDATE Students SET age = 20 WHERE id = 1;
DELETE FROM Students WHERE id = 1;

3. DDL 与 DML 的主要区别

对比项DDLDML
操作对象数据库结构(表、索引等)表中的数据(记录)
核心命令CREATE, ALTER, DROPSELECT, INSERT, UPDATE, DELETE
事务支持自动提交,无法回滚支持事务(可提交或回滚)
执行速度较慢(涉及结构变更)较快(仅操作数据)
权限要求通常需要管理员权限普通用户通常可执行

4. 常见误区

  • TRUNCATE 是 DDL:虽然它清空数据,但通过删除并重建表实现,属于 DDL,而非 DML。
  • SELECT 属于 DML:尽管它不修改数据,但因其属于数据操作范畴,归类为 DML。

5. 总结

  • DDL 定义数据库的“骨架”(结构),直接修改元数据,自动提交。
  • DML 操作数据库的“血肉”(数据),支持事务,可灵活控制提交或回滚。

理解两者的区别有助于合理设计数据库操作流程和权限管理。

相关文章:

  • Ollama API 应用指南
  • STM32与i.MX6ULL内存与存储机制全解析:从微控制器到应用处理器的设计差异
  • ROS 快速入门教程02
  • 游戏引擎学习第240天:将渲染器移至第三层
  • 【新能源科学与技术】MATALB/Simulink小白教程(一)实验文档【新能源电力转换与控制仿真】
  • C++入门小馆: 探寻vector类
  • 【华为】防火墙双击热备-之-主备模式-单外网线路
  • 第七节:进阶特性高频题-Vue3的ref与reactive选择策略
  • 0802api设计和实战-网络ajax请求1-react-仿低代码平台项目
  • 3.3 技术框架:LangChain、ReAct、Memory与Tool Integration
  • Axios 是一个基于 Promise 的 HTTP 客户端,可用于浏览器和 Node.js 环境。以下是它的一些主要作用
  • 精益数据分析(17/126):精益画布与创业方向抉择
  • 学习记录:DAY16
  • 玩转Docker | 使用Docker部署Neko自托管浏览器
  • 使用分布式ID作为MybatisID生成器
  • Eliciting Causal Abilities in Large Language Models for Reasoning Tasks
  • Kotlin 边界限制
  • vant Dialog组件调用的坑
  • 【Hive入门】Hive数据模型与存储格式深度解析:从理论到实践的最佳选择
  • 前端基础之《Vue(8)—内置组件》
  • 对话地铁读书人|超市营业员朱先生:通勤时间自学心理学
  • 网上销售假冒片仔癀和安宫牛黄丸,两人被判刑
  • 马上评丨超常设置战略急需专业,意味着什么
  • 打造“旧书朋友圈”,“淘书乐”为旧书找“新朋友”
  • 复旦大学附属中山医院也有儿科了,门诊将于下月底开业
  • 俄方因复活节停止战斗行动,外交部:乐见一切通往停火的努力