PostgreSQL教程

PostgreSQL 重命名列

在本节中,我们将了解 Alter表中PostgreSQL 重命名列条件的工作方式命令来重命名表的一列和各个列。

PostgreSQL重命名COLUMN命令

我们使用具有 重命名列条件的ALTER TABLE 命令以 重命名表的列
语法
更改表重命名列命令的语法如下:
ALTER TABLE table_name 
RENAME COLUMN column_name TO new_column_name;
在以上语法中,我们具有以下参数:
参数 说明
ALTER TABLE 这是一个子句,用于修改表的定义。
Table_name 它用于描述我们要在ALTER TABLE子句后重命名列的表名。
column_name 它用于在RENAME COLUMN子句之后指定列名。
new_column_name 用于在TO关键字子句之后指定新的列名。
在以上语法中, COLUMN关键字是可选的,因此我们可以忽略它,就像在下面的命令中看到的那样:
ALTER TABLE table_name 
RENAME column_name TO new_column_name;
注意:
如果我们尝试重命名不存在的列,PostgreSQL将引发错误。 对于重命名条件,PostgreSQL不提供 IF EXISTS 选项。
我们需要多次执行 ALTER TABLE RENAME COLUMN 命令来重命名多列,并且我们可以一次重命名一列,如以下语法所示:
ALTER TABLE table_name
RENAME column_name_1 TO new_column_name_1;
OR
ALTER TABLE table_name
RENAME column_name_2 TO new_column_name_2;
如果我们重命名由其他数据库对象(例如 外键约束,视图,存储过程和触发器和 PostgreSQL 还将修改其所有依赖对象。

PostgreSQL RENAME COLUMN的示例

我们来看一些示例。
首先,我们将创建两个新表,分别为 Students和Student_groups
CREATE TABLE Students (
St_id serial PRIMARY KEY,
St_name VARCHAR NOT null,
St_email VARCHAR,
St_phone_no VARCHAR NOT null,
 St_group_id INT,
FOREIGN KEY (st_group_id) REFERENCES Student_groups (Stu_id)
);
输出
执行上述命令后,我们将显示以下消息窗口,其中显示 Students 表已创建。
PostgreSQL重命名列
CREATE TABLE Student_groups (
    Stu_id serial PRIMARY KEY,
    Stu_name VARCHAR NOT null
);
输出
执行上述命令后,我们将看到下面的消息窗口,该窗口指示已创建 Student_groups 表。
PostgreSQL重命名列
此后,我们将创建一个 student_data视图 ,这取决于上面的 学生和学生组
CREATE VIEW Student_data 
AS SELECT
 s.St_id,
 s.St_name,
 g.Stu_name student_group
FROM
Students s
INNER JOIN Student_groups g ON g.Stu_id = s.St_group_id;
输出
执行上述命令后,我们将显示以下消息窗口,其中显示 Student_data 视图。
PostgreSQL重命名列

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

要将 St_email 列重命名为 学生表的 电子邮件,我们将对ALTER TABLE RENAME 使用以下语句> COLUMN 命令:
ALTER TABLE Students 
RENAME COLUMN St_email TO email;
输出
执行上述命令后,我们将获得下面的消息窗口,其中 Students table 已被更改。
PostgreSQL重命名列

使用RENAME COLUMN重命名具有相关对象的列的示例

在此示例中,我们将使用ALTER TABLE RENAME COLUMN命令将 Stu_name 列重命名为 Student_groups 表的 name Stu_name 列用于 Student_data视图
ALTER TABLE Student_groups 
RENAME COLUMN Stu_name TO name;
输出
执行上述命令后,我们将看到以下消息窗口,其中说明 student_groups表已被更改。
PostgreSQL重命名列
现在,我们可以使用以下命令验证列名称是否已被修改在以下屏幕截图中给出的命令:
PostgreSQL重命名列
我们在视图定义中可以看到,则Stu_name列已更改为name。

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

这些语句将两列重命名为 St_name和St_phone_no 表中的分别 Student_name和Student_phone_no :
ALTER TABLE Students 
RENAME COLUMN St_name TO Student_name;

ALTER TABLE Students
RENAME COLUMN St_phone_no TO Student_phone_no;
输出
执行上述命令后,我们将看到以下消息窗口,其中显示 学生表已被更改。
PostgreSQL重命名列
如果我们要检查上述操作是否正常,我们将使用 SELECT命令:
Select * from Students;
输出
执行上述命令后,我们将获得以下输出:
PostgreSQL重命名列
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4