PostgreSQL 還支持 ALTER TABLE 語句中的 DROP COLUMN 子句來刪除表的一列或多列。當您從表中刪除一列時,PostgreSQL 將自動刪除所有涉及該列的索引和約束。
用法: ALTER TABLE table_name DROP COLUMN column_name;
現在讓我們看一個例子。
例:
首先,我們創建幾個表(比如,books,categories和publishers ) 用於演示具有以下描述的關係:

我們使用以下語句創建上述表格:
CREATE TABLE publishers (
publisher_id serial PRIMARY KEY,
name VARCHAR NOT NULL
);
CREATE TABLE categories (
category_id serial PRIMARY KEY,
name VARCHAR NOT NULL
);
CREATE TABLE books (
book_id serial PRIMARY KEY,
title VARCHAR NOT NULL,
isbn VARCHAR NOT NULL,
published_date DATE NOT NULL,
description VARCHAR,
category_id INT NOT NULL,
publisher_id INT NOT NULL,
FOREIGN KEY (publisher_id) REFERENCES publishers (publisher_id),
FOREIGN KEY (category_id) REFERENCES categories (category_id)
);此外,我們創建了一個基於books 和publishers 表如下:
CREATE VIEW book_info AS SELECT
book_id,
title,
isbn,
published_date,
name
FROM
books b
INNER JOIN publishers P ON P .publisher_id = b.publisher_id
ORDER BY
title;如果我們想刪除category_id 的列books 表中,我們使用以下語句:
ALTER TABLE books DROP COLUMN category_id;
現在我們使用以下語句檢查 books 表:
SELECT * FROM books;
輸出:
相關用法
- PostgreSQL DROP DATABASE用法及代碼示例
- PostgreSQL DROP TABLE用法及代碼示例
- PostgreSQL DROP SCHEMA用法及代碼示例
- PostgreSQL Drop用法及代碼示例
- PostgreSQL DROP TRIGGER用法及代碼示例
- PostgreSQL DROP INDEX用法及代碼示例
- PostgreSQL DROP ROLE用法及代碼示例
- PostgreSQL DROP TABLESPACE用法及代碼示例
- PostgreSQL ADD COLUMN用法及代碼示例
注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 PostgreSQL – DROP COLUMN。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
