摘要:在本教程中,你将学习如何使用 ALTER TABLE
语句的 SQL ADD COLUMN
子句向现有表添加一个或多个列。
SQL ADD COLUMN 子句概述
若要向表添加新列,请按如下方式使用 ALTER TABLE ADD COLUMN
语句
ALTER TABLE table_name
ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)
在此语句中,
- 首先,指定要为其添加新列的表。
- 其次,在
ADD COLUMN
子句后指定列定义。
column_definition
的典型语法如下
column_name data_type constraint;
Code language: SQL (Structured Query Language) (sql)
如果要使用单个语句向现有表添加多列,请使用以下语法
ALTER TABLE table_name
ADD [COLUMN] column_definition,
ADD [COLUMN] column_definition,
...;
Code language: SQL (Structured Query Language) (sql)
不同的数据库系统以一些细微差别支持 ALTER TABLE ADD COLUMN
语句。请查看下一部分以了解参考。
SQL ADD COLUMN示例
以下语句创建一个名为 candidates
的新表
CREATE TABLE candidates (
id INT PRIMARY KEY,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE
);
Code language: SQL (Structured Query Language) (sql)
为了向 candidates
表添加 phone
列,请使用以下语句
ALTER TABLE candidates
ADD COLUMN phone VARCHAR(50);
Code language: SQL (Structured Query Language) (sql)
若要向 candidates
表添加家庭地址、出生日期和 linkedin 帐户这三列,请使用以下语句
ALTER TABLE candidates
ADD COLUMN home_address VARCHAR(255),
ADD COLUMN dob DATE,
ADD COLUMN linkedin_account VARCHAR(255);
Code language: SQL (Structured Query Language) (sql)
一些常见数据库系统中的 SQL ADD COLUMN 语句
以下部分为你提供一些常见数据库系统中 ALTER TABLE ADD COLUMN
语句的语法。
PostgreSQL
ALTER TABLE table_name
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)
在 PostgreSQL 中向表中添加多列
ALTER TABLE table_name
ADD COLUMN column_definition,
ADD COLUMN column_definition,
...
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)
MySQL
ALTER TABLE table_name
ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)
在 MySQL 中向表中添加多列
ALTER TABLE table_name
ADD [COLUMN] column_definition,
ADD [COLUMN] column_definition,
...
ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)
Oracle
ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)
在 Oracle 中向表中添加多列
ALTER TABLE table_name
ADD (
column_definition,
column_definition,
...
);
Code language: SQL (Structured Query Language) (sql)
SQL Server
ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)
在 SQL Server 中向表中添加多列
ALTER TABLE table_name
ADD
column_definition,
column_definition,
...;
Code language: SQL (Structured Query Language) (sql)
SQLite
在 SQLite 中向表中添加一列
ALTER TABLE table_name
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)
SQLite 不支持使用单个语句向表中添加多列。若要向表中添加多列,必须执行多个 ALTER TABLE ADD COLUMN
语句。
DB2
在 DB2 中向表中添加一列
ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)
在 DB2 中向表中添加多列
ALTER TABLE table_name
ADD
column_definition
column_definition
...;
Code language: SQL (Structured Query Language) (sql)
请注意,列之间没有逗号。
在本教程中,你已经了解了 ALTER TABLE
语句的 SQL ADD COLUMN
子句,用于向现有表中添加一个或多个列。
本教程是否有用?