掌握表級 DDL 核心命令,從列定義、約束到 ALTER TABLE 多子命令組合,附 RENAME TABLE 跨庫遷移技巧與表前綴命名規範。
USE db_name; -- 或 SQL 中帶前綴 CREATE TABLE db_name.tbl_name (...);
CREATE TABLE tbl_name (
col_name data_type [column_attributes],
...
[table_options]
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
列屬性/約束:NOT NULL、DEFAULT、AUTO_INCREMENT、PRIMARY KEY、UNIQUE KEY、COMMENT
示例:班級表
CREATE TABLE class_info (
class_id INT NOT NULL AUTO_INCREMENT COMMENT '班級編號',
start_date DATE NOT NULL COMMENT '開班日期',
PRIMARY KEY (class_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

| 需求 | 命令 | 說明 |
|---|---|---|
| 列表 | SHOW TABLES [LIKE 'pattern']; | 支援通配符 |
| 建表語句 | SHOW CREATE TABLE tbl_name\G | \G 縱向顯示更清晰 |
| 表結構 | DESC tbl_name; / DESCRIBE tbl_name; | 顯示列、類型、鍵、默認值、Extra |

邏輯表名加業務前綴,避免多應用共庫衝突:
crm_user、oms_order、biz_product

pt-online-schema-change 或 gh-ost 非阻塞變更Threads_running、複製延遲DROP COLUMN,先刪外鍵