一、删除、添加表字段
删除表字段:
mysql> ALTER TABLE testalter_tbl DROP i;
注意:若表中只剩余一个字段时,是无法使用DROP来进行删除的。
添加字段:
ALTER TABLE testalter_tbl ADD i INT;
注意:添加字段时必须指定字段的数据类型。且添加的字段默认添加到表字段的末尾处。
若要指定新增字段的位置可以使用关键字FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。
尝试以下 ALTER TABLE 语句, 在执行成功后,使用 SHOW COLUMNS 查看表结构的变化:
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;
二、修改字段类型及名称
如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
在使用CHANGE时,要在CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
三、修改字段时的设置
当你修改字段时,你可以指定是否包含值或者是否设置默认值。
mysql> ALTER TABLE testalter_tbl
-> MODIFY j BIGINT NOT NULL DEFAULT 100;
如果你不设置默认值,MySQL会自动设置该字段默认为 NULL。
四、修改字段默认值
可以使用 ALTER 来修改字段的默认值,例如:
ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
也可以使用 ALTER 命令及 DROP子句来删除字段的默认值,如下实例:
ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
五、修改表名
如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
ALTER 命令还可以用来创建及删除MySQL数据表的索引。