在本教學中,我們來學習如何使用ALTER TABLE
語句的SQL ADD COLUMN
子句將一個或多個列新增到現有表中。
要向表中新增新列,可使用ALTER TABLE ADD COLUMN
語句,如下所示:
ALTER TABLE table_name
ADD [COLUMN] column_definition;
在這個宣告中,
ADD COLUMN
子句後指定列定義。列定義的典型語法如下:
column_name data_type constraint;
如果要使用單個語句將多個列新增到現有表,請使用以下語法:
ALTER TABLE table_name
ADD [COLUMN] column_definition,
ADD [COLUMN] column_definition,
...;
不同的資料庫系統支援ALTER TABLE ADD COLUMN
語句以及一些小的差異。 請在下一節中檢視參考資料。
以下語句建立一個名為candidate
的新表:
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
);
要將phone
列新增到candidates
表,請使用以下語句:
ALTER TABLE candidates
ADD COLUMN phone VARCHAR(50);
要在candidates
表中新增三列:home_address
,dob
和linkedin
帳戶,請使用以下語句:
ALTER TABLE candidates
ADD COLUMN home_address VARCHAR(255),
ADD COLUMN dob DATE,
ADD COLUMN linkedin_account VARCHAR(255);
以下部分提供了一些常見資料庫系統中ALTER TABLE ADD COLUMN
語句的語法。
PostgreSQL
在PostgreSQL中向表中新增一列:
ALTER TABLE table_name
ADD COLUMN column_definition;
在PostgreSQL中向表中新增多列:
ALTER TABLE table_name
ADD COLUMN column_definition,
ADD COLUMN column_definition,
...
ADD COLUMN column_definition;
MySQL
在MySQL中的表中新增一列:
ALTER TABLE table_name
ADD [COLUMN] column_definition;
在MySQL中向表中新增多列:
ALTER TABLE table_name
ADD [COLUMN] column_definition,
ADD [COLUMN] column_definition,
...
ADD [COLUMN] column_definition;
Oracle
在Oracle中的表中新增一列:
ALTER TABLE table_name
ADD column_definition;
在Oracle中向表中新增多列:
ALTER TABLE table_name
ADD (
column_definition,
column_definition,
...
);
SQL Server
在SQL Server中的表中新增一列:
ALTER TABLE table_name
ADD column_definition;
在SQL Server中向表中新增多列:
ALTER TABLE table_name
ADD
column_definition,
column_definition,
...;
DB2
在DB2中的表中新增一列:
ALTER TABLE table_name
ADD column_definition;
在DB2中向表中新增多列:
ALTER TABLE table_name
ADD
column_definition
column_definition
...;
請注意,列之間沒有逗號。
在本教學中,我們學習了如何使用ALTER TABLE
語句的SQL ADD COLUMN
子句,以將一個或多個列新增到現有表中。