PostgreSQL 更改表

17 Mar 2025 | 4 分钟阅读

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

PostgreSQL ALTER TABLE 命令

我们使用PostgreSQL alter table 命令来更改当前的表结构。

alter table语法 如下所示

下表将显示以下 ALTER TABLE 命令的修改

描述命令
我们将使用 ALTER TABLE ADD COLUMN向表中添加新列ALTER TABLE table_name ADD COLUMN 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 table_name ALTER COLUMN column_name [SET DEFAULT value | DROP DEFAULT];
我们将使用 ALTER TABLE ADD CONSTRAINT 命令来 添加约束ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
我们将使用 alter table rename column to 命令来 重命名剩余的列ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
为了 重命名表,我们将使用 ALTER TABLE RENAME TO 命令。ALTER TABLE table_name RENAME TO new_table_name;
为了 添加 CHECK 约束,我们将使用 ALTER TABLE,ADD CHECK 命令。ALTER TABLE table_name ADD CHECK expression;
要更改 NOT NULL 约束,我们将使用 ALTER TABLE ALTER COLUMN 命令。ALTER TABLE table_name ALTER COLUMN column_name [SET NOT NULL| DROP NOT NULL];

在 PostgreSQL 中,我们可以在 alter table 命令 中执行各种活动,如下所示

PostgreSQL ALTER TABLE 的示例

为了更好地理解 ALTER TABLE 命令,我们将创建一个名为 Station 的新表,借助 Create table 命令

输出

执行完上面的命令后,我们将得到下面的消息窗口

PostgreSQL ALTER table

一旦我们完成了创建 Station 表,我们将在该特定表上执行以下操作

添加一列

之后,我们将借助下面的命令添加一个名为 Latitude 的新列

输出

执行完上面的命令后,我们将得到下面的消息窗口

PostgreSQL ALTER table

删除列

要从 Station 表中删除 Latitude 列,我们将使用以下命令

输出

执行完上面的语句后,我们将得到下面的消息

PostgreSQL ALTER table

重命名列

要将 St_Name 列重命名为 Name,我们使用下面的命令

输出

实现上述命令后,我们将得到以下消息

PostgreSQL ALTER table

我们使用 SELECT 命令来检查以上所有 alter 操作

输出

运行上面的命令后,我们将得到以下输出

PostgreSQL ALTER table

重命名表

要将 Station 表重命名为 Station1,我们将使用下面的命令

输出

执行上述命令后,我们将得到以下消息

PostgreSQL ALTER table

更改列类型

下面的命令用于将 St_City 和 St_State 列的类型从 Char 修改为 Varchar,在 Station1 表中

输出

执行完上面的命令后,我们将得到下面的消息

PostgreSQL ALTER table

添加 NOT NULL 约束

如果我们要向 Station1 表中的 St_City 列添加 NOT NULL 约束,我们将使用下面的命令

输出

执行上述命令后,我们将得到以下消息

PostgreSQL ALTER table

删除 NOT NULL 约束

如果我们要从 Station1 表中的 St_City 列中删除 NOT NULL 约束,我们将运行下面的命令

输出

执行完上面的命令后,我们将得到下面的消息

PostgreSQL ALTER table

添加 PRIMARY KEY 约束9

如果我们要向 Station1 表中添加主键约束,我们将使用下面的命令。

输出

在下面的消息窗口中,一个表只允许一个主键。因此,我们假设表中没有预设的主键。

PostgreSQL ALTER table

总结

  • 我们可以借助 alter 命令 删除列。并且,如果连接了索引或任何表约束,则相关的列将自动删除。或者,对于另一个表,如果表被引用,我们可以使用 Cascade。
  • 通过使用 alter table 命令,我们可以在特定表中添加 约束
  • 我们还可以借助 alter 命令删除列的 默认值
  • 我们可以修改 列的数据类型, 并且连接的索引和约束将自动修改为新的列类型

下一个主题PostgreSQL ADD 列