首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 學習筆記:表結構變更(建立/修改/刪除/重命名/字符集/查看)完整語法速查

     編輯:MySQL 資料庫相關知識

MySQL DDL 核心操作系統整理:建表、增刪改欄位、修改表名/字符集/欄位名、查看結構/建表語句、刪除表。

一、建立表

CREATE TABLE users (
  id INT,
  name VARCHAR(64),
  sex BIT(1),
  birthday DATE,
  entry_date DATE,
  job VARCHAR(32),
  salary FLOAT,
  resume TEXT
);

二、欄位變更

操作語法範例
新增欄位ALTER TABLE 表名 ADD 欄位名 類型ALTER TABLE users ADD image BLOB;
修改欄位類型/長度ALTER TABLE 表名 MODIFY 欄位名 新類型ALTER TABLE users MODIFY sex CHAR(2);
刪除欄位ALTER TABLE 表名 DROP 欄位名ALTER TABLE users DROP image;
修改欄位名+類型ALTER TABLE 表名 CHANGE COLUMN 舊名 新名 類型ALTER TABLE users CHANGE COLUMN sex sexy VARCHAR(2);

三、表級變更

操作語法範例
重命名表RENAME TABLE 舊表名 TO 新表名RENAME TABLE users TO user;
修改表字符集ALTER TABLE 表名 CHARACTER SET 字符集ALTER TABLE user CHARACTER SET gbk;

四、查看元資料

-- 表結構(DESC/DESCRIBE 同義)
DESCRIBE users;
-- 或
SHOW COLUMNS FROM users;

-- 完整建表語句
SHOW CREATE TABLE users;

DESCRIBE 輸出範例

+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id         | int(11)     | YES  |     | NULL    |       |
| name       | varchar(64) | YES  |     | NULL    |       |
| sex        | bit(1)      | YES  |     | NULL    |       |
| birthday   | date        | YES  |     | NULL    |       |
| entry_date | date        | YES  |     | NULL    |       |
| job        | varchar(32) | YES  |     | NULL    |       |
| salary     | float       | YES  |     | NULL    |       |
| resume     | text        | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+

五、刪除表

DROP TABLE test9;

六、避坑提醒

  • MODIFY 僅改類型,**不改名**;CHANGE 必須同時給新名與類型
  • RENAME TABLE 原子操作,可同步重命名多表:RENAME TABLE a TO b, c TO d;
  • 修改字符集 ALTER TABLE ... CHARACTER SET 僅影響**新增欄位**,現有欄位需 CONVERT TO CHARACTER SET
  • 大表 DDL(加欄位/改類型)會鎖表,**5.6+ Online DDL** 部支援,生產環境用 pt-online-schema-change 或 gh-ost

DDL 雖非高頻,但一旦出錯影響面廣,變更前必備份、變更中監控、變更後驗證。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved