提要:在本教程中,您将学习如何在 PostgreSQL 的 ALTER TABLE 语句中使用 RENAME COLUMN 子句来重命名表的一个或多个字段。

语法

ALTER TABLE table_name 
RENAME COLUMN column_name TO new_column_name;

RENAME COLUMN 中的 COLUMN 关键字是可选的。所以,上面的语句和下面的等效:

ALTER TABLE table_name 
RENAME column_name TO new_column_name;

要同时对多个字段进行重命名,可以使用多条 RENAME [COLUMN] 语句:

ALTER TABLE table_name
RENAME column_name_1 TO new_column_name_1,
RENAME column_name_2 TO new_column_name_2,
...;

如果重命名的字段被其它对象引用,那么 PostgreSQL 将自动更新这些引用对象。

示例

我们创建两个表来做演示:

CREATE TABLE customer_groups (
    id serial PRIMARY KEY,
    name VARCHAR NOT NULL
);

CREATE TABLE customers (
    id serial PRIMARY KEY,
    name VARCHAR NOT NULL,
    phone VARCHAR NOT NULL,
    email VARCHAR,
    group_id INT,
    FOREIGN KEY (group_id) REFERENCES customer_groups (id)
);

同时,再创建一个视图:

CREATE VIEW customer_data 
AS SELECT
    c.id,
    c.name,
    g.name customer_group
FROM
    customers c
INNER JOIN customer_groups g ON g.id = c.group_id;

下面的语句,将 customers 表中的 email 字段重命名为 contact_email

ALTER TABLE customers 
RENAME COLUMN email TO contact_email;
下一篇:PostgreSQL 临时表