插件窝 干货文章 MySQL如何添加列?

MySQL如何添加列?

添加 COLUMN ALTER TABLE 429    来源:    2025-03-28

MySQL 添加列的方法

在 MySQL 中,你可以使用 ALTER TABLE 语句来添加新列到现有表中。以下是几种常用的方法:

基本语法

ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [约束条件];

示例

1. 添加单列

-- 在 users 表中添加 email 列,类型为 VARCHAR(100)
ALTER TABLE users ADD COLUMN email VARCHAR(100);

-- 添加带 NOT NULL 约束的列
ALTER TABLE users ADD COLUMN age INT NOT NULL;

-- 添加带默认值的列
ALTER TABLE users ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

2. 添加多列

ALTER TABLE users 
ADD COLUMN phone VARCHAR(20),
ADD COLUMN address TEXT;

3. 指定列位置

-- 添加列到表的第一位
ALTER TABLE users ADD COLUMN id INT FIRST;

-- 添加列到某列之后
ALTER TABLE users ADD COLUMN middle_name VARCHAR(50) AFTER first_name;

4. 添加带约束的列

-- 添加带 UNIQUE 约束的列
ALTER TABLE users ADD COLUMN username VARCHAR(50) UNIQUE;

-- 添加带 CHECK 约束的列
ALTER TABLE products ADD COLUMN price DECIMAL(10,2) CHECK (price > 0);

注意事项

  1. 添加列可能会锁定表,对大表操作时需谨慎
  2. 添加 NOT NULL 列时,必须指定默认值或确保表为空
  3. 添加的列名不能与现有列名重复
  4. 数据类型和约束条件需符合业务需求

更复杂的示例

ALTER TABLE employees
ADD COLUMN salary DECIMAL(10,2) NOT NULL DEFAULT 0.00,
ADD COLUMN department_id INT,
ADD CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments(id);

以上是 MySQL 中添加列的基本方法和示例,根据你的具体需求选择合适的语法。