📅  最后修改于: 2023-12-03 14:49:58.610000             🧑  作者: Mango
在 PostgreSQL 中,我们可以使用 ALTER TABLE
语句来添加一个不为空的列,并指定一个默认值。
语法如下:
ALTER TABLE 表名
ADD COLUMN 列名 数据类型 NOT NULL DEFAULT 默认值;
其中,ADD COLUMN
指示要添加一列,NOT NULL
指示这列不允许为空,DEFAULT
指示这列的默认值。
以下是一个示例:
-- 在 users 表中添加一个名为 email 的列,类型为 varchar(50),不允许为空,并设置默认值为 'example@example.com'
ALTER TABLE users
ADD COLUMN email varchar(50) NOT NULL DEFAULT 'example@example.com';
这将在 users
表中添加一个名为 email
的列,该列的类型为 varchar(50)
,不允许为空,并且默认值为 example@example.com
。
请注意,如果表中已有数据,则仅为该列设置默认值不会更改旧数据。新行将使用默认值,而旧行将保留空值。
如果要同时为旧行设置默认值,请参阅以下示例:
-- 使用 UPDATE 语句将现有行更新为默认值
UPDATE users SET email = 'example@example.com' WHERE email IS NULL;
此语句将选择所有 email
列为空的行,并将 example@example.com
设置为其值。
最后,如果您想删除添加的列,请使用以下语法:
ALTER TABLE 表名 DROP COLUMN 列名;
例如:
-- 删除 users 表中的 email 列
ALTER TABLE users DROP COLUMN email;
以上就是使用默认值添加不为空的列的方法,希望对你有所帮助!