摘要:在本教學中,您將學習如何使用 SQL 的 ALTER TABLE
陳述式的 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)
為了將 phone
欄位新增至 candidates
表格,您可以使用以下陳述式
ALTER TABLE candidates
ADD COLUMN phone VARCHAR(50);
Code language: SQL (Structured Query Language) (sql)
為了將三個欄位:住址、出生日期和 LinkedIn 帳號新增至 candidates
表格,您可以使用以下陳述式
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)
請注意,欄位之間沒有逗號。
在本教學中,您學習了如何使用 SQL 的 ALTER TABLE
陳述式的 ADD COLUMN
子句,將一或多個欄位新增至現有的表格。
這個教學對您有幫助嗎?