插件窝 干货文章 SQL 如何添加多个新列

SQL 如何添加多个新列

列名 COLUMN 约束 ADD 129    来源:    2025-03-29

在SQL中添加多个新列的方法

在SQL中,您可以使用ALTER TABLE语句一次添加多个新列到现有表中。以下是几种常见数据库系统中添加多个列的语法:

MySQL/MariaDB 语法

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

示例:

ALTER TABLE employees
ADD COLUMN phone VARCHAR(15),
ADD COLUMN hire_date DATE NOT NULL,
ADD COLUMN salary DECIMAL(10,2) DEFAULT 0;

PostgreSQL 语法

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

示例:

ALTER TABLE employees
ADD COLUMN phone VARCHAR(15),
ADD COLUMN hire_date DATE NOT NULL,
ADD COLUMN salary NUMERIC(10,2) DEFAULT 0;

SQL Server 语法

ALTER TABLE 表名
ADD 列名1 数据类型 [约束条件],
    列名2 数据类型 [约束条件],
    ...;

示例:

ALTER TABLE employees
ADD phone VARCHAR(15),
    hire_date DATE NOT NULL,
    salary DECIMAL(10,2) DEFAULT 0;

Oracle 语法

ALTER TABLE 表名
ADD (列名1 数据类型 [约束条件],
     列名2 数据类型 [约束条件],
     ...);

示例:

ALTER TABLE employees
ADD (phone VARCHAR2(15),
     hire_date DATE NOT NULL,
     salary NUMBER(10,2) DEFAULT 0);

SQLite 语法

SQLite 3.1.3及以上版本支持一次添加多个列:

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

示例:

ALTER TABLE employees
ADD COLUMN phone TEXT,
ADD COLUMN hire_date TEXT NOT NULL,
ADD COLUMN salary REAL DEFAULT 0;

注意事项

  1. 添加列时需要考虑现有数据,特别是添加NOT NULL约束的列时,可能需要提供默认值
  2. 某些数据库对单次ALTER TABLE操作可以添加的列数有限制
  3. 在大表上添加列可能会锁定表,影响生产环境性能
  4. 添加列前最好检查列是否已存在,避免错误

希望这些信息对您有所帮助!如需针对特定数据库的更多细节,请告知您使用的数据库系统。