学习openGauss导入数据
使用copy ..to..命令将表数据导出成文本,再使用copy ..from..命令将文本数据导入到表中。
连接数据库
root@modb:~# su - omm
omm@modb:~$ gsql -r
gsql ((openGauss 2.0.0 build 78689da9) compiled at 2021-03-31 21:03:52 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
1.创建表1并在表中插入数据,分别指定字段和整行为缺省值
omm=# create table t1(id int ,name varchar(10),city varchar(10));
CREATE TABLE
omm=# insert into t1 values(10,'aa','beijing');
INSERT 0 1
omm=# insert into t1 values(20,'bb');
INSERT 0 1
omm=# insert into t1 default values;
INSERT 0 1
omm=# select * from t1;
id | name | city
----+------+---------
10 | aa | beijing
20 | bb |
| |
(3 rows)
2.创建表2并将表1的数据全部导入表2中
omm=# create table t2 as select * from t1;
INSERT 0 3
omm=# select * from t2;
id | name | city
----+------+---------
10 | aa | beijing
20 | bb |
| |
(3 rows)
3.创建表3和表4,并合并两个表的数据到表3
omm=# create table t3(id int,name varchar(20));
CREATE TABLE
omm=# create table t4(id int,name varchar(20));
CREATE TABLE
omm=# insert into t3 values(10,'aa'),(20,'bb');
INSERT 0 2
omm=# insert into t4 values(20,'cc'),(30,'dd');
INSERT 0 2
omm=# merge into t3
omm-# using t4
omm-# on (t3.id=t4.id)
omm-# when matched then
omm-# update set t3.name=t4.name
omm-# when not matched then
omm-# insert values(t4.id,t4.name);
MERGE 2
omm=# select * from t3;
id | name
----+------
10 | aa
20 | cc
30 | dd
(3 rows)
4.将表3的数据输出到文件,再将文件中的数据导入到表5
omm=# copy t3 to '/home/omm/t3.txt';
COPY 3
omm=# create table t5 (like t3);
CREATE TABLE
omm=# copy t5 from '/home/omm/t3.txt';
COPY 3
omm=# select * from t5;
id | name
----+------
10 | aa
20 | cc
30 | dd
(3 rows)




