DDL和DML的含义与区别
1. DDL(Data Definition Language,数据定义语言)
含义:
DDL用于定义和管理数据库的结构(如表、索引、视图等)。它涉及对数据库模式(Schema)的操作,而非具体数据。
常见操作:
- CREATE:创建数据库对象(如表、索引、视图)。
- ALTER:修改现有数据库对象的结构。
- DROP:删除数据库对象。
- TRUNCATE:清空表数据(保留结构)。
特点:
- 操作的是数据库的结构,而非数据。
- 执行后通常需要提交(在某些数据库中自动提交)。
- 示例类比:DDL就像建造房屋的设计图,定义房间布局、门窗位置等。
2. DML(Data Manipulation Language,数据操作语言)
含义:
DML用于操作数据库中的数据(如插入、更新、删除、查询)。
常见操作:
- INSERT:插入数据。
- UPDATE:更新数据。
- DELETE:删除数据。
- SELECT:查询数据。
特点:
- 操作的是数据库中的数据,而非结构。
- 通常需要事务控制(如COMMIT
或ROLLBACK
)。
- 示例类比:DML就像房屋建成后,在房间里放置家具、装饰或移除物品。
3. DDL与DML的核心区别
| 对比项 | DDL | DML |
|-------------------|----------------------------------|----------------------------------|
| 操作对象 | 数据库结构(表、索引、视图等) | 数据库中的数据 |
| 常见操作 | CREATE、ALTER、DROP、TRUNCATE | INSERT、UPDATE、DELETE、SELECT |
| 事务支持 | 通常自动提交(不可回滚) | 支持事务(可回滚) |
| 影响范围 | 影响整个表或数据库对象 | 影响表中的部分或全部数据 |
| 示例类比 | 设计房屋结构 | 在房屋中放置或移除物品 |
4. 示例对比
-
DDL示例:
创建一个新表:此操作定义了表的结构,但表中尚无数据。
-
DML示例:
向表中插入数据:此操作在已存在的表中添加了具体数据。
5.
- DDL用于定义和管理数据库的结构,操作的是“模式”。
- DML用于操作数据库中的数据,操作的是“记录”。
- 理解两者的区别有助于正确设计数据库和开发应用程序。
(本文地址:https://www.nzw6.com/6192.html)