【PostgreSQL】创建表和复制表

创建表

最简单的建表语法:(co101_ namme为列名,data_ type为该列字段的类型)

CREATE TABLE table_ name (
co101_ namme data_ type,
co102_ namme data_ type,
co103_ namme data_ type,
col04_ namme data_ type
};

示例:

create table test01 (id int ,note varchar(20)) ;

如果主键是由两个及以上的字段组成,则称为复合主键,语法:

CONSTRAINT constraint_name PRIMARY KEY(col1_name, co12_name,...)

示例:

create table test02 (idl int,id2 int,note varchar (20),CONSTRAINT pk_test02 primary key(id1, id2)) ;

也可以指定唯一键, 唯一键同样是约束的一-种, 唯-键的约束子句语法如下:

CONSTRAINT constraint name UNIQUE (col1_ name,col2_ name, . .. )

示例:

create table test03(id1 int, id2 int, id3 int,note varchar (20),CONSTRAINT pk_ test03 primary key(id1, id2), CONSTRAINT uk_ test03_ id3 UNIQUE (id3) ) ;

check也是一种约束形式,用于定义某些字段的值必须满足某种要求,语法如下:

CONSTRAINT constraint_ name CHECK (expression)

示例:建一张存储一些孩子信息的表child,其中的年龄字段( age)要求不能大于18岁

CREATE TABLE child (name varchar (20),age int,,note text,CONSTRAINT ck_ child_ age CHECK(age <18)) ;

还可用其他表为模板创建新表,

CREATE TABLE baby(LIKE child) ;

注意,此处创建的表没有把源表列上的约束复制过来。如果想完全复制源表列上的约束和其他信息,则需要加“INCLUDING", 可用的“INCLUDES"选项为:

  • INCLUDING DEFAULTS
  • INCLUDING CONSTRAINTS
  • INCLUDING INDEXES
  • INCLUDING STORAGE
  • INCLUDING COMMENTS
  • INCLUDING ALL – 把所有的属性都复制过去

示例:

CREATE TABLE baby2(LIKE child INCLUDING ALL) ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jsonCC

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

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

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

打赏作者

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

抵扣说明:

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

余额充值