本文为第二届openGauss每日一练,21天打卡计划第 14 天的作业部分,课程内容总结如下openGauss每日一练第 14 天-列存表的约束与拷贝
作业1
创建表的时候定义列级约束
create table test1(
id integer primary key,
name varchar(20) not null,
age integer unique
);

主键约束报错

作业2
创建表的时候定义表级约束
create table test2(
id integer,
name varchar(20) not null,
age integer unique,
primary key(id)
);

作业3
为表的属性定义默认值
create table test3(
id integer,
name varchar(20),
age integer default 18
);
insert into test3 values(101, 'john');
select * from test3;

作业4
如果在创建表的时候,没有为某列定义默认值,缺省的默认值是空值null
create table test4(
id integer,
name varchar(20),
age integer
);
insert into test4 values(101, 'john');
select * from test4;

作业5
创建表时使用自增数据类型
create table test5(
id serial,
name varchar(20),
age integer
);
insert into test5(name, age) values('john', 18);
insert into test5(name, age) values('john', 18);
select * from test5;

作业6
使用现有的表创建新表
--执行下面的SQL语句,将创建新表,并且会将旧表的数据拷贝给新表:
CREATE TABLE test6 AS SELECT * FROM test5;
SELECT * FROM test5;
--执行下面的SQL语句,创建和旧表的表结构相同的新表,但是不会将旧表的数据拷贝给新表:
CREATE TABLE test7 AS SELECT * FROM test5 WHERE 1=2;
SELECT * FROM test7;

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




