【postgresql】postgresql数据库操作增列与id自增设置随手记

postgresql数据库操作

增加一列

需求:

添加一列is_delete默认为false

初级版

在 PostgreSQL 中向一张表中添加一列并设置默认值的语句可以使用 ALTER TABLE 语句来实现。具体操作如下:

ALTER TABLE table_name ADD COLUMN column_name boolean DEFAULT false;

其中,table_name 是您要添加列的表名,column_name 是您要添加的列名,boolean 是列的数据类型, DEFAULT false 是您要设置的默认值。

例如,假设您要向一个名为 users 的表中添加一个名为 is_delete 的布尔类型列,并将其默认值设置为 false,则可以使用以下语句:

ALTER TABLE users ADD COLUMN is_delete boolean DEFAULT false;

执行此语句后,您可以使用以下语句来验证列是否被成功添加:

SELECT * FROM users;

这将返回 users 表中的所有行,其中包括您刚刚添加的 is_delete 列。

默认填充

如果有新数据添加,is_delete一列默认填充false。

如果您想在向 users 表中插入新数据时自动将 is_delete 列设置为 false,可以使用以下 SQL 语句:

INSERT INTO users (column1, column2, is_delete) VALUES (value1, value2, false);

在此语句中,column1column2 是您要插入的其他列名,value1value2 是要插入的相应值。is_delete 是您要设置的列名,并将其值设置为 false

例如,如果您要向 users 表中插入一个名为 John 的新用户,并将其电子邮件地址设置为 john@example.com,则可以使用以下语句:

INSERT INTO users (name, email, is_delete) VALUES ('John', 'john@example.com', false);

这将向 users 表中插入一个新行,并将 is_delete 列设置为 false

汇总

postgresql操作需求

1:在原始表axvd_group_user添加一列is_delete;

2.默认为false,后续添加数据,如果不传这个参数就是false,传了参数就根据传的参数保存;

如果您想在向 axvd_group_user 表中插入新数据时自动将 is_delete 列设置为 false,并且在需要时可以将其设置为其他值,则可以使用以下 SQL 语句:

ALTER TABLE axvd_group_user ADD COLUMN is_delete boolean NOT NULL DEFAULT false;

此语句将创建一个名为 is_delete 的布尔类型列,并将其默认值设置为 falseNOT NULL 选项将确保在插入新行时必须提供 is_delete 的值。

然后,您可以使用以下 SQL 语句向 axvd_group_user 表中插入新数据:

INSERT INTO axvd_group_user (user_id, group_id, is_delete) VALUES (1, 2, false);

在此语句中,user_idgroup_id 是您要插入的其他列名,12 是要插入的相应值。is_delete 是您要设置的列名,并将其值设置为 false

如果您想在插入新数据时将 is_delete 设置为其他值,则可以使用以下语句:

INSERT INTO axvd_group_user (user_id, group_id, is_delete) VALUES (1, 2, true);

在此语句中,true 是您要设置的 is_delete 的值。您可以将 true 替换为任何其他布尔值来设置 is_delete 的值。

postgresql操作升级版需求

postgresql在原始表axvd_group_user添加一列is_delete 1: 如果这一列存在,就先删除,不存在就添加, 2:默认为false, 3:后续添加数据,如果不传这个参数就是false,传了参数就根据传的参数保存, sql语句怎么写

您可以使用以下 SQL 语句来向 axvd_group_user 表中添加 is_delete 列,实现您的需求:

-- 如果 is_delete 列存在,先删除
ALTER TABLE axvd_group_user DROP COLUMN IF EXISTS is_delete;
-- 添加 is_delete 列,默认值为 false
ALTER TABLE axvd_group_user ADD COLUMN is_delete boolean NOT NULL DEFAULT false;

这将首先检查 axvd_group_user 表中是否存在名为 is_delete 的列,如果存在,将删除它。然后,它将添加一个名为 is_delete 的布尔类型列,并将其默认值设置为 false

接下来,您可以使用以下 SQL 语句向 axvd_group_user 表中插入新数据:

INSERT INTO axvd_group_user (user_id, group_id, is_delete) VALUES (1, 2, false);

在此语句中,user_idgroup_id 是您要插入的其他列名,12 是要插入的相应值。is_delete 是您要设置的列名,并将其值设置为 false

如果您想在插入新数据时将 is_delete 设置为其他值,则可以使用以下语句:

INSERT INTO axvd_group_user (user_id, group_id, is_delete) VALUES (1, 2, true);

在此语句中,true 是您要设置的 is_delete 的值。您可以将 true 替换为任何其他布尔值来设置 is_delete 的值。

id设置自增

需求:

postgresql 数据库中标axvd_group_user:id一列设置自增,无需每次都给新值

您可以使用 PostgreSQL 中的序列来为 axvd_group_user 表中的 id 列设置自增。请按照以下步骤进行操作:

  1. 创建一个名为 axvd_group_user_id_seq 的序列。可以使用以下 SQL 语句来创建此序列:

    CREATE SEQUENCE axvd_group_user_id_seq;
    
  2. 将序列作为 id 列的默认值。可以使用以下 SQL 语句来更新 axvd_group_user 表中的 id 列:

    ALTER TABLE axvd_group_user ALTER COLUMN id SET DEFAULT nextval('axvd_group_user_id_seq');
    

现在,当您向 axvd_group_user 表中插入新数据时,id 列将自动递增。例如:

INSERT INTO axvd_group_user (user_id, group_id, is_delete) VALUES (1, 2, false);

在此语句中,您不需要为 id 列提供值,因为它将自动分配一个新值。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都吴所谓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值