PostgreSQL教程

PostgreSQL ALTER

在本节中,我们将学习 PostgreSQL ALTER TABLE 的各种命令,用于更改表的结构。

PostgreSQL ALTER TABLE命令

我们使用 PostgreSQL alter table命令来更改当前表结构。
更改表语法如下所示:
ALTER TABLE table_name action;
下表将显示以下ALTER TABLE命令的修改:
说明 命令
我们将使用 ALTER TABLE ADD COLUMN (向表添加新列)向表中添加新列 ALTER TABLE table_name添加列new_column_name TYPE;
我们将使用 ALTER TABLE DROP COLUMN 命令来删除现有的列。 ALTER TABLE table_name DROP COLUMN column_name;
要修改列的默认值,可以使用 ALTER TABLE ALTER COLUMN SET DEFAULT或DROP DEFAULT 命令。 ALTER TABLE表名ALTER COLUMN column_name [设置默认值|默认设置];
我们将使用 ALTER TABLE ADD CONSTRAINT 命令添加约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名约束条件定义;
我们将使用更改表的重命名列命令来重新命名剩余的列 ALTER TABLE table_name重命名列column_name到new_column_name;
对于重命名表格,我们将使用 ALTER TABLE RENAME TO 命令。 ALTER TABLE table_name 重命名为 new_table_name;
对于添加CHECK约束,我们将使用 ALTER TABLE,ADD CHECK 命令。 ALTER TABLE table_name ADD CHECK 表达式;
要更改 NOT NULL约束,我们将使用 ALTER TABLE ALTER COLUMN 命令。 ALTER TABLE table_name ALTER COLUMN列名[SET NOT NULL | DROP NOT NULL];
在PostgreSQL中,我们可以在 alter table命令中执行各种活动,如下所示:
添加列 重命名列 拖放列 向列添加CHECK约束 修改列的数据类型 设置列的默认值 重命名表格

PostgreSQL ALTER TABLE的示例

为了更好地理解 ALTER TABLE 命令,我们将创建一个名为 的新表在创建表命令的帮助下> Station :
CREATE TABLE Station (
St_id INTEGER PRIMARY KEY,
St_Name Varchar(200),
St_City CHAR(30),
St_State CHAR(2)
);
输出
执行上述命令后,我们将获得以下消息窗口:
PostgreSQL ALTER table
完成创建 Station 表后,我们将对该特定表执行以下操作:

添加列

此后,借助以下命令,我们将添加一个名为 Latitude 的新列:
ALTER TABLE Station
ADD COLUMN Latitude REAL;
输出
一旦执行上述命令,我们将获得以下消息窗口:
PostgreSQL ALTER table

删除列

要从Station表中删除"纬度"列,我们将使用以下命令:
ALTER TABLE Station
DROP COLUMN Latitude;
输出
执行上面的语句后,我们将显示以下消息:
PostgreSQL ALTER table

重命名列

要将 St_Name 列重命名为 Name ,我们使用以下命令:
ALTER TABLE Station
RENAME COLUMN St_Name TO Name;
输出
一旦执行上述命令,我们将得到以下消息:
PostgreSQL ALTER table
我们使用SELECT命令检查上述所有alter操作:
Select * from Station;
输出
运行上面的命令后,我们将获得以下输出:
PostgreSQL ALTER table

重命名表

要将Station表重命名为Station1,我们将使用以下命令:
ALTER TABLE Station
RENAME TO  Station1;
输出
执行上述命令后,将得到以下消息:
PostgreSQL ALTER table

更改列类型

以下命令用于修改 St_City和St_State 列从 Station1 表中的 Char Varchar :
ALTER TABLE Station1
ALTER COLUMN St_City TYPE Varchar(30),
ALTER COLUMN St_State TYPE Varchar(20);
输出
执行上述命令后,我们将获得以下消息:
PostgreSQL ALTER table

添加NOT NULL约束

如果我们要将NOT NULL约束添加到 St_City Station1 表中的列,我们将使用以下命令:
ALTER TABLE Station1 ALTER COLUMN St_City SET NOT null;
输出
一旦执行上述命令,我们将得到以下消息:
PostgreSQL ALTER table

删除NOT NULL约束

如果我们要从 St_City Station1 表中的列,我们将运行以下命令:
ALTER TABLE Station1 
ALTER COLUMN 
St_City DROP NOT null;
输出
执行上述命令后,我们将获得以下消息:
PostgreSQL ALTER table

添加主键约束9

如果我们想在 Station1中添加主键约束表,我们将使用以下命令。
ALTER TABLE Station1 ADD PRIMARY KEY (St_id);
输出
在下面的消息窗口中, 一个表只允许使用一个主键。因此,我们将假定表中没有预设的主键。
PostgreSQL ALTER table

摘要

我们可以在alter命令的帮助下删除列。并且如果索引或任何表约束链接,则相关列将自动删除。或者,对于另一个表,如果已引用该表,则可以使用Cascade。 通过使用alter table命令,我们可以在特定表中添加约束 我们还可以借助alter命令删除列的默认值 我们可以修改列的数据类型,并且连接的索引和约束将自动修改为新的列类型
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4