SQL DROP COLUMN

摘要:在本教學中,您將學習如何使用 SQL 的 DROP COLUMN 子句從現有的資料表中移除一個或多個欄位。

SQL DROP COLUMN 語法介紹

有時候,您可能會想從現有的資料表中刪除一個或多個不使用的欄位。要執行此操作,您可以使用 ALTER TABLE 陳述式,如下所示:

ALTER TABLE table_name
DROP COLUMN column_name1,
[DROP COLUMN column_name2];
Code language: SQL (Structured Query Language) (sql)

在此語法中:

  • table_name 是包含您要移除的欄位的資料表名稱。
  • column_name1, column_name2 是您要刪除的欄位。

上述語法受到 MySQLPostgreSQL 的支援。

OracleSQL Server 則有稍微不同的語法:

ALTER TABLE table_name
  DROP COLUMN  
    column_name1, 
    [column_name2];
Code language: SQL (Structured Query Language) (sql)

SQL DROP COLUMN 範例

以下陳述式 建立一個新的資料表 名為 persons,以供示範:

CREATE TABLE persons (
    person_id INT PRIMARY KEY,
    first_name VARCHAR(255) NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    date_of_birth DATE NOT NULL,
    phone VARCHAR(25),
    email VARCHAR(255)
);
Code language: SQL (Structured Query Language) (sql)

A) 移除單一欄位範例

以下陳述式從 persons 資料表中移除 email 欄位:

ALTER TABLE persons
DROP COLUMN email;
Code language: SQL (Structured Query Language) (sql)

B) 移除多個欄位範例

以下陳述式移除 date_of_birthphone 欄位:

ALTER TABLE persons
DROP COLUMN date_of_birth,
DROP COLUMN phone;
Code language: SQL (Structured Query Language) (sql)

此陳述式在 MySQL 和 PostgreSQL 中有效。

對於 Oracle 和 SQL Server,您使用以下陳述式:

ALTER TABLE persons
    DROP COLUMN 
        date_of_birth,
        phone;
Code language: SQL (Structured Query Language) (sql)

在本教學中,您已學習如何使用 SQL 的 DROP COLUMN 陳述式,從資料表中移除一個或多個欄位。

這個教學對您有幫助嗎?