openGauss

开源数据库

openGauss社区官网

开源社区

openGauss每日一练之导入数据

云和恩墨2022-04-22openGauss每日一练之导入数据

openGauss 每日一练之导入数据

本文出处:https://www.modb.pro/db/222633

学习地址

https://www.modb.pro/course/133

学习目标

学习 openGauss 导入数据

课后作业

1.创建表 1 并在表中插入数据,分别指定字段和整行为缺省值

omm=# create table emp1 (
omm(# id integer,
omm(# name char(10),
omm(# age integer
omm(# );
CREATE TABLE
omm=# insert into emp1 values (1,'zhao',25);
INSERT 0 1
omm=# insert into emp1 values (2,'qian',default);
INSERT 0 1
omm=# insert into emp1 default values ;
INSERT 0 1
omm=#

2.创建表 2 并将表 1 的数据全部导入表 2 中

omm=# create table emp2 (
omm(# id integer,
omm(# name char(10),
omm(# age integer
omm(# );
CREATE TABLE
omm=# insert into emp2 select * from emp1;
INSERT 0 3
omm=#

3.创建表 3 和表 4,并合并两个表的数据到表 3

omm=# create table emp3 (
omm(# id integer,
omm(# name char(10),
omm(# age integer
omm(# );
CREATE TABLE
omm=# create table emp4 (
omm(# id integer,
omm(# name char(10),
omm(# age integer
omm(# );
CREATE TABLE
omm=# insert into emp3 values
omm-# (1,'zhao',25),
omm-# (2,'qian',27),
omm-# (3,'shun',29);
INSERT 0 3
omm=# insert into emp4 values
omm-# (1,'zhao',25),
omm-# (2,'li',26),
omm-# (4,'zhou',28);
INSERT 0 3
omm=# merge into emp3
omm-# using emp4
omm-# on (emp3.id=emp4.id)
omm-# when matched then
omm-# update set emp3.name=emp4.name,emp3.age=emp4.age
omm-# when not matched then
omm-# insert values (emp4.id,emp4.name,emp4.age);
MERGE 3
omm=# select * from emp3;
 id |    name    | age
----+------------+-----
  3 | shun       |  29
  1 | zhao       |  25
  2 | li         |  26
  4 | zhou       |  28
(4 rows)

omm=#

4.将表 3 的数据输出到文件,再将文件中的数据导入到表 5

omm=# copy emp3 to '/home/omm/emp3.dat';
COPY 4
omm=# create table emp5 (like emp3);
CREATE TABLE
omm=#
omm=# copy emp5 from '/home/omm/emp3.dat';
COPY 4
omm=# select * from emp5;
 id |    name    | age
----+------------+-----
  3 | shun       |  29
  1 | zhao       |  25
  2 | li         |  26
  4 | zhou       |  28
(4 rows)

omm=#