PostgreSQL 更改列类型

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

在本节中,我们将讨论如何借助 ALTER TABLE 命令更改列的数据类型

更改列数据类型的命令

我们将使用 ALTER TABLE 命令来修改列的数据类型。

更改列数据类型的基本语法如下

在上面的语法中,我们将使用以下参数

参数描述
Table_name它用于定义表的名称,我们想要在该表中修改列数据类型。
Column_name它用于提供列的名称,将在 ALTER COLUMN 条件中修改该列的数据类型。
New_data_type它在 Type 关键字之后使用,并用于列的引用。它可能使用 TYPE 或 SET DATA TYPE。

在单个命令中更改多个列的语法

我们将使用以下语法在单个命令中修改多个列的数据类型。

正如我们在上面的语法中看到的,我们可以借助逗号 (,) 来离散每个 ALTER COLUMN 条件,以便一次转换多个列的类型。

PostgreSQL 允许我们通过添加 USING 条件来修改列的数据类型时,将旧的列值更改为新的列值,如下面的命令所示

注意:在 PostgreSQL 中,我们可以使用 USING 子句从旧列值添加新的列值。

如果我们不使用 USING 条件,PostgreSQL 将间接创建旧列值到新列值。如果创建失败,PostgreSQL 将引发问题并要求我们提供包含用于更改的表达式的 USING 子句。

PostgreSQL 更改列类型的示例

为了显示列类型中的更改,我们将创建一个名为 Student_information 的新表。

执行上述命令后,我们将获得以下消息窗口,该窗口表明已创建 Student_information 表。

PostgreSQL Change Column Type

之后,我们将一些行插入到特定表中。

输出

一旦我们执行上面的命令,我们将得到以下消息窗口:三行已被插入到 Student_information 表中。

PostgreSQL Change Column Type

我们将使用以下命令将 Stu_name 列的数据类型修改为 Varchar

输出

执行上述命令后,我们将获得以下结果

PostgreSQL Change Column Type

以下命令将帮助我们将 Stu_age 和 Stu_address 列的数据类型从 int 更改为 Varchar,以及将 char 更改为 Varchar

输出

一旦我们执行上面的命令,我们将获得以下消息窗口:Student_information 表已被更改。

PostgreSQL Change Column Type

如果我们想检查我们在上面执行的所有操作,我们将使用 Select 命令

输出

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

PostgreSQL Change Column Type