使用ALTER TABLE ADD添加列,如ALTER TABLE users ADD email VARCHAR(100);可指定位置AFTER或FIRST,也可添加约束DEFAULT NOT NULL,操作前建议备份数据。
在MySQL中,如果你想向已存在的表中添加新的列,可以使用 ALTER TABLE … ADD COLUMN 语句。这个操作非常常见,比如在项目迭代过程中需要新增字段时就会用到。
基本语法
添加列的基本语法如下:
ALTER TABLE 表名 ADD COLUMN 新列名 数据类型 [约束条件];
其中 ADD COLUMN 中的 COLUMN 关键字通常可以省略,写成 ADD 即可。
添加单个列示例
假设有一个名为 users 的表,结构如下:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50) );
现在想添加一个 email 字段,可以执行:
ALTER TABLE users ADD COLUMN email VARCHAR(100);
也可以省略 COLUMN:
ALTER TABLE users ADD age INT;
这样就成功添加了一个名为 age 的整型字段。
指定列的位置
默认情况下,新添加的列会放在表的最后。但你可以使用 AFTER 或 FIRST 来指定位置。
- 放在某个字段之后:
- 放在表的第一列:
ALTER TABLE users ADD phone VARCHAR(20) AFTER name;
ALTER TABLE users ADD sn INT FIRST;
添加带约束的列
你可以在添加列的同时设置约束,例如非空、默认值等:
ALTER TABLE users ADD status TINYINT DEFAULT 1 NOT NULL;
这条语句添加了一个状态字段,默认值为 1,且不允许为空。
基本上就这些。只要记得表结构变更前最好先备份数据,避免误操作导致问题。