SQL ADD COLUMN

摘要:在本教學中,您將學習如何使用 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

在 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

在 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

在 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

在 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 子句,將一或多個欄位新增至現有的表格。

這個教學對您有幫助嗎?