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