数据库DDL和DML:
在 MySQL 中,DDL(Data Definition Language,数据定义语言)和 DML(Data Manipulation Language,数据操作语言)是两种不同类型的 SQL 语句,各自用于不同的操作:
1. DDL(数据定义语言)
- 作用:用于定义或更改数据库对象的结构,比如数据库、表、索引等。
- 主要特点:DDL 语句会影响数据库的结构,一般不涉及具体的数据。
- 常用语句:
CREATE:创建数据库、表、视图、索引等。例如,CREATE TABLE users (id INT, name VARCHAR(50));。ALTER:修改数据库对象的结构,例如修改表结构、增加/删除字段等。例如,ALTER TABLE users ADD age INT;。DROP:删除数据库对象,例如删除表或数据库。例如,DROP TABLE users;。TRUNCATE:清空表中所有数据,但保留表结构。例如,TRUNCATE TABLE users;。
- 事务特性:DDL 操作一般是自动提交的,不能回滚。
2. DML(数据操作语言)
- 作用:用于对数据库中的数据进行增删改查。
- 主要特点:DML 语句直接操作数据,并不会改变数据库结构。
- 常用语句:
SELECT:查询数据。例如,SELECT * FROM users;。INSERT:插入数据。例如,INSERT INTO users (id, name) VALUES (1, 'Alice');。UPDATE:更新数据。例如,UPDATE users SET name = 'Bob' WHERE id = 1;。DELETE:删除数据。例如,DELETE FROM users WHERE id = 1;。
- 事务特性:DML 操作通常在事务中使用,可以回滚。
区别总结
- 作用不同:DDL 用于定义数据库结构,DML 用于操作数据。
- 是否影响结构:DDL 改变表结构或数据库对象;DML 只改变数据内容。
- 事务特性:DDL 语句一般自动提交,不支持回滚;DML 语句支持回滚和提交。
