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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。