DDL(Data Definition Language,数据定义语言)是SQL(Structured Query Language,结构化查询语言)的一部分,用于定义和管理数据库的结构。在MySQL数据库中,DDL主要包括以下几类命令:
1. **CREATE** - 创建新的数据库对象,如数据库、表、视图、索引等。
- 创建数据库:`CREATE DATABASE database_name;`
- 创建表:`CREATE TABLE table_name (column1 datatype, column2 datatype, ...);`
- 创建视图:`CREATE VIEW view_name AS SELECT ...;`
- 创建索引:`CREATE INDEX index_name ON table_name (column);`
2. **ALTER** - 修改现有数据库对象的结构,如添加、删除列,修改列的数据类型等。
- 修改表结构:`ALTER TABLE table_name ADD column_name datatype;`
- 删除列:`ALTER TABLE table_name DROP COLUMN column_name;`
- 修改列的数据类型:`ALTER TABLE table_name MODIFY COLUMN column_name datatype;`
3. **DROP** - 删除数据库对象,如数据库、表、视图、索引等。
- 删除数据库:`DROP DATABASE database_name;`
- 删除表:`DROP TABLE table_name;`
- 删除视图:`DROP VIEW view_name;`
- 删除索引:`DROP INDEX index_name ON table_name;`
4. **TRUNCATE** - 快速删除表中的所有行,但保留表结构。
- 清空表:`TRUNCATE TABLE table_name;`
5. **RENAME** - 重命名数据库对象。
- 重命名表:`RENAME TABLE old_table_name TO new_table_name;`
6. **COMMENT** - 为数据库对象添加注释。
- 添加注释:`COMMENT ON TABLE table_name IS 'table description';`
7. **SHOW** - 显示数据库对象的信息。
- 显示数据库列表:`SHOW DATABASES;`
- 显示表结构:`SHOW CREATE TABLE table_name;`
- 显示索引信息:`SHOW INDEX FROM table_name;`
8. **DESCRIBE/DESC** - 显示表的元数据,如列名、数据类型、是否可以为空等。
- 描述表:`DESCRIBE table_name;`
9. **OPTIMIZE** - 优化表,以改善性能。
- 优化表:`OPTIMIZE TABLE table_name;`
10. **CHECK TABLE** - 检查表的完整性。
- 检查表:`CHECK TABLE table_name;`