ALTER TABLE更改表的结构。例如,您可以添加或删除列、创建或销毁索引、更改现有列的类型或者重命名列或表本身。您还可以更改特征,例如用于表或表注释的存储引擎。
ALTER TABLE <表名> [ADD COLUMN <列名> <类型> | CHANGE COLUMN <旧列名> <新列名> <新列类型> | ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT } | MODIFY COLUMN <列名> <类型> | DROP COLUMN <列名> | RENAME TO <新表名> | CHARACTER SET <字符集名> | COLLATE <校对规则名>]
[ ]中的内容是可选的,|是或者,<>是中文解释。语法说明:
ADD COLUMN:添加列名
CHANGE COLUMN:修改列名
ALTER COLUMN:设置或删除列的默认值,不会引起表的重构
MODIFY COLUMN:修改列属性(包含类型长度和默认值等),会引起表的重构。
DROP COLUMN:删除列
RENAME TO :更新新表名
CHARACTER SET :设置或更新字符集名
COLLATE:设置或更新排序规则名
更改a表表名为b表且引擎为‘InnoDB’,设置字符集为‘gb2312 ’设置排序规则为‘gb2312_chinese_ci’
mysql> ALTER TABLE a -> RENAME TO b, -> ENGINE=InnoDB, -> DEFAULT CHARACTER SET=gb2312 COLLATE=gb2312_chinese_ci; Query OK, 0 rows affected (0.54 sec) Records: 0 Duplicates: 0 Warnings: 0