PostgreSQL教程

PostgreSQL 更改列类型

在本节中,我们将讨论如何通过 更改列数据类型。ALTER TABLE 命令。

更改列数据类型的命令

我们将使用 ALTER TABLE 命令修改列的数据类型。
更改列数据类型的基本语法如下:
ALTER TABLE table_name
ALTER COLUMN column_name [SET DATA] TYPE new_data_type;
在上面的语法中,我们将使用以下参数:
参数 说明
Table_name 它用于定义表名,我们要在其中修改列数据类型。
column_name 用于提供列名,在ALTER COLUMN条件下将在其中修改数据类型。
New_data_type 在Type关键字之后和列引用中使用。可能会使用TYPE或SET DATA TYPE。
在单个命令中更改多列的语法
我们将使用以下语法在单个命令中修改多个列的数据类型
ALTER TABLE table_name
ALTER COLUMN column_name_1 [SET DATA] TYPE new_data_type,
ALTER COLUMN column_name_2 [SET DATA] TYPE new_data_type;
正如我们在上述语法中所看到的,我们可以借助逗号(,)使每个ALTER COLUMN条件离散化,以一次转换各种列的类型。
PostgreSQL 提供了将旧列值更改为新列值的功能,同时通过添加USING条件修改列的数据类型,如我们在下面的命令:
ALTER TABLE table_name
ALTER COLUMN column_name TYPE new_data_type USING expression;
注意: 在PostgreSQL中,我们可以使用USING子句从旧值中添加新的列值。
如果我们不使用 使用条件,则PostgreSQL将间接为新列创建旧的列值。如果创建失败,PostgreSQL将提出一个问题,要求我们为USING子句提供一个用于更改的表达式。

PostgreSQL的示例更改列类型

要显示列类型的更改,我们将创建一个名为 Student_information 的新表。
CREATE TABLE Student_information(
Stu_id serial PRIMARY KEY,
Stu_name TEXT NOT null,
Stu_agr int,
Stu_address char(30)
);
执行上述命令后,我们将获得以下消息窗口,该窗口显示 Student_information 表已创建。
PostgreSQL更改列类型
此后,我们将在特定表中插入一些行。
INSERT INTO Student_information (
Stu_name, Stu_age,Stu_address)
VALUES('Mike','26','New york' ),
 ('Emily','23','Boston'),
 ('john','25','Chicago');
输出
执行上述命令后,我们将获得以下消息窗口: 三行已插入到 Student_information 表。
PostgreSQL更改列类型
我们将使用以下命令将 Stu_name 列的数据类型修改为 Varchar
ALTER TABLE Student_information ALTER COLUMN Stu_name TYPE VARCHAR;
输出
执行上述命令后,我们将得到以下结果:
PostgreSQL更改列类型
以下命令将帮助我们将 Stu_age和Stu_address 列的数据类型从 int更改为Varchar char到Varchar
ALTER TABLE Student_information 
ALTER COLUMN Stu_age TYPE VARCHAR,
 ALTER COLUMN Stu_address TYPE VARCHAR;
输出
一旦执行上述命令,我们将获得以下消息窗口: Student_information
PostgreSQL更改列类型
如果我们要检查所有我们在上面执行的操作中,将使用Select命令:
Select * from Student_information;
输出
执行上述命令后,我们将获得以下输出:
PostgreSQL更改列类型
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4