在SQL中,要向现有表添加新列,可以使用 ALTER TABLE
语句配合 ADD COLUMN
子句。以下是不同数据库系统中添加列的基本语法:
ALTER TABLE table_name
ADD COLUMN column_name data_type [constraints];
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;
ALTER TABLE table_name
ADD COLUMN column_name data_type [constraints];
示例:
ALTER TABLE customers
ADD COLUMN phone_number VARCHAR(20);
ALTER TABLE table_name
ADD column_name data_type [constraints];
注意:SQL Server中通常省略 COLUMN
关键字
示例:
ALTER TABLE orders
ADD order_date DATETIME DEFAULT GETDATE();
ALTER TABLE table_name
ADD (column_name data_type [constraints]);
示例:
ALTER TABLE products
ADD (discontinued CHAR(1) DEFAULT 'N');
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
- 自定义检查条件