暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

oushudb-修改表

原创 宗恩 2023-02-03
312

增加约束

要增加一个约束,必须使用表约束语法。比如:
要增加一个不能写成表约束的非空约束,使用下面的语法:
这个约束将立即进行检查,所以表在添加约束之前必须符合约束条件。

删除约束

要删除一个约束,你需要知道约束的名字,或者你也可以通过psql 的命令\d tablename可来进行查询。 删除约束的命令格式为:

除了非空约束外,所有约束类型都这么用。因为非空约束没有名字,所以要删除非空约束,可以这样:

改变列的缺省值

如果需要给某个列设置缺省值,使用下面的语句:

注意,该操作不会影响表中的现存行,它只是改变insert操作插入的未来值。 要移除任何缺省值,使用:

该操作与将该列缺省值设为空等价,因此对没有定义缺省值的列进行此操作不会出错,因为缺省值隐式 地被认为是null。

改变列的数据类型

把一个列转换成另外一种数据类型,使用下面的命令:

ALTER TABLE products ADD CHECK (name <> '');

ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;

ALTER TABLE products DROP CONSTRAINT some_name;

ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;

ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;

ALTER TABLE products ALTER COLUMN price DROP DEFAULT;

ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);

需要注意的是,在修改某列类型之前,最好检查一下之前设置过的一些约束,因为他们可能并不适合新
的数据类型。建议将这些约束删除后,再把合适的约束添加上去。

重命名列

重命名一个列:

重命名表

重命名一个表:

ALTER TABLE products RENAME COLUMN product_no TO product_number;

ALTER TABLE products RENAME TO items;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论