删除字段
删除字段语法:
ALTER TABLE table_name DROP column_name
删除字段示例
如下命令使用了 ALTER 命令及 DROP 子句来删除`articles`的 `a_type` 字段:
ALTER TABLE articles DROP a_type;
如果数据表中只剩余一个字段则无法使用DROP来删除字段。
添加字段
添加字段语法:
ALTER TABLE table ADD column_name DATA_TYPE
添加字段举例
在表 `articles` 中添加 `a_type` 字段,并定义数据类型为int:
mysql> ALTER TABLE articles ADD a_type int ;
执行以上命令后,a_type字段会自动添加到数据表字段的末尾。
如何指定新增字段的位置
可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)
尝试以下 ALTER TABLE 语句, 在执行成功后,使用 SHOW COLUMNS 查看表结构的变化:
ALTER TABLE articles ADD test_key_id INT FIRST;
ALTER TABLE articles ADD test_thumb INT AFTER title;
FIRST 和 AFTER 关键字可用于 ADD 与 MODIFY 子句
修改字段
如果需要修改字段类型及名称, 你可以在ALTER
命令中使用 MODIFY
或CHANGE
子句 。
MODIFY 语法
ALTER TABLE table_name MODIFY column_name DATA_TYPE
修改类型示例
使用modify
修改articles 表的 test_thumb字段类型为char(255):
mysql> ALTER TABLE articles MODIFY test_thumb CHAR(255);
CHANGE 语法
change子句可以同时修改字段名
ALTER TABLE table CHANGE column_old_name column_new_name DATA_TYPE;
在 CHANGE 关键字之后,紧跟着的是需要修改的字段名,然后指定新字段名及类型。
下面的示例将articles的test_thumb字段修改名为thumb,数据类型为char(100)
mysql> ALTER TABLE article CHANGE test_thumb thumb char(100);
Null 值与默认值
当你修改字段时,你可以指定是否包含值或者是否设置默认值。
修改字段默认值
示例1:将字段默认值设为not null
指定字段 a_type 为 NOT NULL 且默认值为1 。
mysql> ALTER TABLE articles MODIFY a_type int NOT NULL DEFAULT 1;
如果你不设置默认值,MySQL会自动设置该字段默认为 NULL。
示例2:将字段默认值设为null值
mysql> ALTER TABLE articles ALTER a_type SET DEFAULT 2;
删除字段默认值
你也可以使用 ALTER 命令及 DROP子句来删除字段的默认值,如下实例:
mysql> ALTER TABLE articles ALTER a_type DROP DEFAULT;
讨论区