插件窝 干货文章 SQL 添加列的语法是什么

SQL 添加列的语法是什么

TABLE COLUMN ALTER name 292    来源:    2025-03-29

SQL 添加列的语法

在SQL中,要向现有表添加新列,可以使用 ALTER TABLE 语句配合 ADD COLUMN 子句。以下是不同数据库系统中添加列的基本语法:

标准SQL语法

ALTER TABLE table_name
ADD COLUMN column_name data_type [constraints];

各数据库具体实现

MySQL/MariaDB

ALTER TABLE table_name
ADD COLUMN column_name data_type [constraints] [AFTER existing_column | FIRST];

示例:

ALTER TABLE employees
ADD COLUMN email VARCHAR(100) NOT NULL AFTER last_name;

PostgreSQL

ALTER TABLE table_name
ADD COLUMN column_name data_type [constraints];

示例:

ALTER TABLE customers
ADD COLUMN phone_number VARCHAR(20);

SQL Server

ALTER TABLE table_name
ADD column_name data_type [constraints];

注意:SQL Server中通常省略 COLUMN 关键字 示例:

ALTER TABLE orders
ADD order_date DATETIME DEFAULT GETDATE();

Oracle

ALTER TABLE table_name
ADD (column_name data_type [constraints]);

示例:

ALTER TABLE products
ADD (discontinued CHAR(1) DEFAULT 'N');

SQLite

ALTER TABLE table_name
ADD COLUMN column_name data_type [constraints];

注意:SQLite对ALTER TABLE的支持有限,不能添加非NULL约束且不能指定列位置 示例:

ALTER TABLE users
ADD COLUMN registration_date TEXT;

可选约束

可以在添加列时指定各种约束: - NOT NULL - 不允许空值 - DEFAULT value - 设置默认值 - UNIQUE - 确保列值唯一 - PRIMARY KEY - 设置为主键 - FOREIGN KEY - 设置外键 - CHECK - 自定义检查条件

注意事项

  1. 添加列前应考虑对现有数据的影响
  2. 对于大型表,添加列可能会锁定表并影响性能
  3. 某些数据库对新列的位置有特定限制
  4. 添加带有NOT NULL约束的列时,通常需要提供DEFAULT值