📜  使用默认值 postgres 添加不为空的列 - SQL (1)

📅  最后修改于: 2023-12-03 14:49:58.610000             🧑  作者: Mango

使用默认值 postgres 添加不为空的列 - SQL

在 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;

以上就是使用默认值添加不为空的列的方法,希望对你有所帮助!