GBase 8c 数据定义-增加列 表操作

    在GBase 8c 数据库中,如需增加列,可以使用这样的命令:

ALTER TABLE products ADD COLUMN description text;

    新列将被默认值所填充(如果没有指定DEFAULT子句,则会填充空值)。

注意:

    添加一个具有常量默认值的列不再意味着在执行ALTER TABLE 语句时需要更新表的每一行。 相反,默认值将在下次访问该行时返回,并在表被重写时应用,从而使得ALTER TABLE即使在大表上也非常快。

    但是,如果默认值是可变的(例如clock_timestamp()),则每一行需要被ALTER TABLE被执行时计算的值更新。 为避免潜在的长时间的更新操作,特别是如果你想要用大多数非默认值填充列,那么最好添加没有默认值的列,再用 UPDATE插入正确的值,然后按照下面所述添加任何期望的默认值。

    也可以同时为列定义约束,语法:

ALTER TABLE products ADD COLUMN description text CHECK (description <> '');

    事实上CREATE TABLE中关于列的描述都可以应用在这里。无论如何,默认值必须满足给定的约束,否则ADD将会失败。也可以先将新列正确地填充好,然后再增加约束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值