PostgreSQL 重命名列

2025年3月17日 | 阅读 3 分钟

在本节中,我们将了解 PostgreSQL 重命名列条件如何在 Alter table 命令中使用,以重命名表的一个或多个列。

PostgreSQL 重命名列命令

我们使用带有重命名列条件ALTER TABLE 命令来重命名表的列

语法

Alter table 重命名列命令的语法如下:

在上面的语法中,我们有以下参数

参数描述
更改表它是一个子句,用于修改表的定义。
Table_name它用于在 ALTER TABLE 子句之后描述我们要重命名列的表名。
Column_name它用于在 RENAME COLUMN 子句之后指定列名。
New_cloumn _name它用于在 TO 关键字子句之后指定新的列名。

在上面的语法中,COLUMN 关键字是可选的,所以我们可以忽略它,正如我们在下面的命令中看到的那样。

注意

  • 如果我们尝试重命名不存在的列,PostgreSQL 将引发错误。
  • 对于重命名条件,PostgreSQL 不提供 IF EXISTS 选项。

我们需要多次执行 ALTER TABLE RENAME COLUMN 命令来重命名多个列,并且我们可以一次重命名一个列,正如我们在下面的语法中看到的那样。

如果我们重命名的列被其他数据库对象(如外键约束、视图、存储过程和触发器)引用,并且 PostgreSQL 也会修改其所有依赖对象。

PostgreSQL RENAME COLUMN 的示例

让我们看一些示例,以便更好地理解我们将在何处使用 ALTER TABLE RENAME COLUMN。

首先,我们将创建两个新表,分别为 Students 和 Student_groups

输出

执行上述命令后,我们得到以下消息窗口,表明已创建 Students 表。

PostgreSQL Rename Column

输出

执行上述命令后,我们得到以下消息窗口,表明已创建 Student_groups 表。

PostgreSQL Rename Column

之后,我们将创建一个 student_data 视图,它依赖于上面的 Students 和 Student_groups 表。

输出

执行上述命令后,我们得到以下消息窗口,表明已创建 Student_data 视图。

PostgreSQL Rename Column

使用 RENAME COLUMN 重命名一列的示例

要将 Students 表的 St_email 列重命名为 email,我们将使用以下语句来执行 ALTER TABLE RENAME COLUMN 命令。

输出

执行上述命令后,我们得到以下消息窗口,其中 Students 表已被更改。

PostgreSQL Rename Column

使用 RENAME COLUMN 重命名具有依赖对象的列的示例

在本示例中,我们将使用 ALTER TABLE RENAME COLUMN 命令将 Student_groups 表的 Stu_name 列重命名为 name。 并且 Stu_name 列在 Student_data 视图中使用。

输出

执行上述命令后,我们得到以下消息窗口,表明 student_groups 表已被更改。

PostgreSQL Rename Column

现在,我们可以通过使用以下屏幕截图中给出的命令来验证列名是否已修改。

PostgreSQL Rename Column

正如我们在视图定义中看到的那样,Stu_name 列已更改为 name。

使用多个 RENAME COLUMN 重命名多个列的示例

这些语句分别将 Students 表的两个列 St_name 和 St_phone_no 重命名为 Student_name 和 Student_phone_no


输出

执行上述命令后,我们得到以下消息窗口,表明 Students 表已被更改。

PostgreSQL Rename Column

如果我们想检查上面的操作是否正常工作,我们将使用下面的 SELECT 命令

输出

执行上述命令后,我们将获得以下输出。

PostgreSQL Rename Column
下一个主题PostgreSQL 清空表