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)
);
输出
执行上述命令后,我们将获得以下消息窗口:
完成创建
Station 表后,我们将对该特定表执行以下操作:
添加列
此后,借助以下命令,我们将添加一个名为
Latitude 的新列:
ALTER TABLE Station
ADD COLUMN Latitude REAL;
输出
一旦执行上述命令,我们将获得以下消息窗口:
删除列
要从Station表中删除"纬度"列,我们将使用以下命令:
ALTER TABLE Station
DROP COLUMN Latitude;
输出
执行上面的语句后,我们将显示以下消息:
重命名列
要将
St_Name 列重命名为
Name ,我们使用以下命令:
ALTER TABLE Station
RENAME COLUMN St_Name TO Name;
输出
一旦执行上述命令,我们将得到以下消息:
我们使用SELECT命令检查上述所有alter操作:
输出
运行上面的命令后,我们将获得以下输出:
重命名表
要将Station表重命名为Station1,我们将使用以下命令:
ALTER TABLE Station
RENAME TO Station1;
输出
执行上述命令后,将得到以下消息:
更改列类型
以下命令用于修改
St_City和St_State 列从
Station1 表中的
Char 到
Varchar :
ALTER TABLE Station1
ALTER COLUMN St_City TYPE Varchar(30),
ALTER COLUMN St_State TYPE Varchar(20);
输出
执行上述命令后,我们将获得以下消息:
添加NOT NULL约束
如果我们要将NOT NULL约束添加到
St_City
Station1 表中的列,我们将使用以下命令:
ALTER TABLE Station1 ALTER COLUMN St_City SET NOT null;
输出
一旦执行上述命令,我们将得到以下消息:
删除NOT NULL约束
如果我们要从
St_City
Station1 表中的列,我们将运行以下命令:
ALTER TABLE Station1
ALTER COLUMN
St_City DROP NOT null;
输出
执行上述命令后,我们将获得以下消息:
添加主键约束9
如果我们想在
Station1中添加主键约束表,我们将使用以下命令。
ALTER TABLE Station1 ADD PRIMARY KEY (St_id);
输出
在下面的消息窗口中,
一个表只允许使用一个主键。因此,我们将假定表中没有预设的主键。
摘要
我们可以在alter命令的帮助下删除列。并且如果索引或任何表约束链接,则相关列将自动删除。或者,对于另一个表,如果已引用该表,则可以使用Cascade。
通过使用alter table命令,我们可以在特定表中添加列和约束。
我们还可以借助alter命令删除列的默认值。
我们可以修改列的数据类型,并且连接的索引和约束将自动修改为新的列类型