DML(数据操作语言)和 DDL(数据定义语言)是 SQL 中的两类不同的语言,它们的主要区别如下:
DML(Data Manipulation Language)
- 用途:用于操作数据库中的数据。
- 操作类型:插入、更新、删除和查询数据。
- 常用语句:
INSERT
:插入数据。UPDATE
:更新数据。DELETE
:删除数据。SELECT
:查询数据。
- 示例:
-- 插入数据
INSERT INTO students (name, age, major) VALUES ('Alice', 21, 'Computer Science');
-- 更新数据
UPDATE students SET age = 22 WHERE name = 'Alice';
-- 删除数据
DELETE FROM students WHERE name = 'Alice';
-- 查询数据
SELECT name, age, major FROM students WHERE age > 20;
DDL(Data Definition Language)
- 用途:用于定义和管理数据库结构。
- 操作类型:创建、修改和删除数据库对象(如表、索引、视图等)。
- 常用语句:
CREATE
:创建数据库对象。ALTER
:修改数据库对象。DROP
:删除数据库对象。
- 示例:
-- 创建表
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT,
major VARCHAR(50)
);
-- 修改表
ALTER TABLE students ADD COLUMN email VARCHAR(100);
-- 删除表
DROP TABLE students;
主要区别
-
功能:
- DML 用于操作数据。
- DDL 用于定义和管理数据库结构。
-
操作对象:
- DML 操作表中的数据。
- DDL 操作数据库对象(如表、索引、视图等)。
-
事务控制:
- DML 语句可以在事务中使用,可以回滚(ROLLBACK)或提交(COMMIT)。
- DDL 语句通常会自动提交,不能回滚。
-
影响范围:
- DML 语句影响表中的数据。
- DDL 语句影响数据库结构。
总结
DML 和 DDL 是 SQL 中的两类不同语言,分别用于操作数据和定义数据库结构。了解它们的区别和用途,有助于更好地管理和操作数据库。