?
DDL(Data Definition Language,數據定義語言)是 SQL 語言的一部分,用于定義和管理數據庫中的數據結構,包括創建、修改、刪除數據庫對象(如數據庫、表、視圖、索引等)。
常見的 DDL 語句及其功能:
- 創建數據庫
sql
CREATE DATABASE [IF NOT EXISTS] 數據庫名 [CHARACTER SET 字符集] [COLLATE 排序規則];
示例:創建一個名為company
的數據庫
sql
CREATE DATABASE IF NOT EXISTS company CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 刪除數據庫
sql
DROP DATABASE [IF EXISTS] 數據庫名;
示例:刪除company
數據庫
sql
DROP DATABASE IF EXISTS company;
- 創建表
sql
CREATE TABLE [IF NOT EXISTS] 表名 (字段名1 數據類型 [約束條件] [COMMENT '注釋'],字段名2 數據類型 [約束條件] [COMMENT '注釋'],...[表級約束]
) [COMMENT '表注釋'] [其他選項];
示例:創建員工表emp
sql
CREATE TABLE IF NOT EXISTS emp (id INT PRIMARY KEY AUTO_INCREMENT COMMENT '編號',name VARCHAR(50) NOT NULL COMMENT '姓名',age TINYINT UNSIGNED COMMENT '年齡',hire_date DATE COMMENT '入職日期'
) COMMENT '員工信息表';
修改表
- 添加字段
sql
ALTER TABLE 表名 ADD 字段名 數據類型 [約束] [COMMENT '注釋'];
- 修改字段數據類型
sql
ALTER TABLE 表名 MODIFY 字段名 新數據類型;
- 修改字段名和數據類型
sql
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新數據類型;
- 刪除字段
sql
ALTER TABLE 表名 DROP 字段名;
- 修改表名
sql
ALTER TABLE 舊表名 RENAME TO 新表名;
刪除表
sql
DROP TABLE [IF EXISTS] 表名;
- 創建索引
sql
CREATE [UNIQUE] INDEX 索引名 ON 表名(字段名);
- 刪除索引
sql
DROP INDEX 索引名 ON 表名;
DDL 語句執行后會自動提交事務,對數據庫結構的修改是永久性的。在執行 DROP 等危險操作時,應格外謹慎,最好先做好數據備份