今天学习openGauss导入数据,以下是作业和心得:
1. 连接openGauss
su - omm gsql -r
2. 创建表1并在表中插入数据,分别指定字段和整行为缺省值
create table t1 (
id integer,
name char(30),
age integer,
email char(50)
);
insert into t1 values(0001, 'zhangsan', 18, default);
insert into t1 default values;
select * from t1;
\
3. 创建表2并将表1的数据全部导入表2中
create table t2 (
id integer,
name char(30),
age integer,
email char(50)
);
insert into t2 select * from t1;
select * from t2;
\
4. 创建表3和表4,并合并两个表的数据到表3
create table t3 (
id integer,
name char(30),
age integer,
email char(50)
);
insert into t3 values (0002, 'ilsi', 19, 'lisi@qq.com'),(0003, 'wangwu', 20, 'wangwu@qq.com'),(0004, 'liuxing', 19, 'liuxing@qq.com');
select * from t3;
create table t4 (
id integer,
name char(30),
age integer,
email char(50)
);
insert into t4 values (0002, 'ilsi', 19, 'lisi@qq.com'),(0005, 'wanglei', 19, 'wanglei@qq.com'),(0006, 'lilei', 20, 'lilei@qq.com');
merge into t3 a using t4 b on (a.id=b.id) when matched then update set a.name=b.name, a.age=b.age, a.email=b.email when not matched then insert values (b.id, b.name, b.age, b.email);
select * from t3;
\
5. 将表3的数据输出到文件,再将文件中的数据导入到表5
copy t3 to '/home/omm/t3.dat';
create table t5 (like t3);
copy t5 from '/home/omm/t3.dat';
select * from t5;
\
通过学习和作业,巩固了openGauss导入数据的知识。了解如何明确字段和整行缺省值,如何使用merge into语句合并两表的数据,同时使用copy … to …拷贝文件和使用copy … from …拷贝表。但是特别注意一点,不能直接拷贝没创建好的表,例如表t6创建报错。

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




