使用sql更改类的类型

使用ALTER TABLE ALTER COLUMN语句更改列的数据类型。在 ALTER TABLE 之后,指定要修改列的表的名称,然后在 ALTER COLUMN 之后,指定要更改数据类型的列的名称。 在 TYPE 关键字之后,指定列的新数据类型。

语法如下:

ALTER TABLE [schema_name.]table_name 
ALTER COLUMN <column_name> [SET DATA] TYPE <new_data_type>,
ALTER COLUMN <column_name> [SET DATA] TYPE <new_data_type>
...; 

PostgreSQL 允许通过使用一个带有多个 ALTER COLUMN 子句的 ALTER TABLE 语句来更改多个列的数据类型。 它需要在每个 ALTER COLUMN 子句后添加逗号 ,

假设您已经有以下 employee 表。

现在将email的数据类型从 VARCHAR 更改为 TEXT

ALTER TABLE employee
ALTER COLUMN email TYPE TEXT; 

当您执行 ALTER COLUM 时,PostgreSQL 会隐式地将数据从旧数据类型自动转换为新数据类型。在某些情况下,例如将 VARCHAR 转换为 INT,转换失败,PostgreSQL 将给出错误,指出列无法自动转换,并要求您通过指定 USING 子句来指定手动转换。

ALTER TABLE <table_name>
ALTER COLUMN <column_name> TYPE <new_data_type> USING <expression>; 

以下代码将 salary 列的数据类型从 integer 更改为 INT

ALTER TABLE employee 
ALTER COLUMN salary TYPE integer USING salary::INT; 

使用 pgAdmin 更改列类型

您可以通过右键单击表名并选择"Properties"来更改 pgAdmin 中一个或多个列的名称、类型和 NOT NULL 约束。 在弹出窗口中,转到"Columns"选项卡,您可以通过单击列上的编辑图标来编辑列名称、类型、长度以及设置/取消设置 NOT NULL 约束,如下所示。

PostgreSQL 修改字段类型

或者,您也可以通过右键单击列并在上下文菜单中选择"Properties"来更改 pgAdmin 中列的类型。 这将打开一个弹出窗口,您可以在其中编辑列属性。

转到"Definition"选项卡,然后从Datatype下拉列表中选择适当的类型来编辑类型,如下所示。

PostgreSQL 修改字段类型

单击"保存"按钮保存更改。