暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第 13 天 |openGauss导入数据merge into和copy

原创 2021-12-24
855

学习openGauss的第十三天。

主要内容是将表数据导出,并导入到其他表,merge into的方式进行数据导入


连接数据库

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 tab_test(col1 int,col2 char(20),col3 char(20));

CREATE TABLE

omm=# insert into tab_test(col1) values(1);

INSERT 0 1

omm=# insert into tab_test default values;

INSERT 0 1

omm=# select * from tab_test ;

 col1 | col2 | col3

------+------+------

    1 |      |

      |      |

(2 rows)

 

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

omm=# create table tab_test1(col1 int ,col2 char(20),col3 char(20));

CREATE TABLE

omm=# insert into tab_test1  select * from tab_test ;

INSERT 0 2

omm=# select * from tab_test1 ;

 col1 | col2 | col3

------+------+------

    1 |      |

      |      |

(2 rows)

 

 

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

 

omm=# create table tab3(id int,name char(20)) ;

omm=# CREATE TABLE

 

omm=# create table tab4(id int,name char(20));

CREATE TABLE

omm=# insert into tab3 values(1,'a'),(2,'b'),(3,'c'),(4,'d')  ;

INSERT 0 4

omm=# insert into tab4 values(2,'b'),(3,'c'),(4,'d'),(5,'e');

INSERT 0 4

 

omm=# merge into tab4 t4

omm-# using tab3 t3

omm-# on (t3.id=t4.id)

omm-# when matched then

omm-# update set t4.name='aaa'

omm-# when not matched then

omm-# insert values(t3.id,t3.name) ;

 

omm=# select * from tab3 ;

 id |         name        

----+----------------------

  1 | a                  

  2 | b                  

  3 | c                  

  4 | d                  

(4 rows)

 

omm=# select * from tab4 ;

 

  2 | aaa                

  3 | aaa                

  4 | aaa                

(5 rows)

 

omm=#  id |         name        

----+----------------------

  5 | e                  

  1 | a  

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

omm=# create table tab5(id int,name char(20));

CREATE TABLE

copy tab3  to '/home/omm/tab3.dat';

copy tab5 from '/home/omm/tab3.dat';

 

omm=# copy tab3  to '/home/omm/tab3.dat';

COPY 4

omm=# copy tab5 from '/home/omm/tab3.dat';

COPY 4

omm=# select * from tab5 ;

(4 rows)

 

omm=#  id |         name        

----+----------------------

  1 | a                  

  2 | b                  

  3 | c                  

  4 | d      

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

评论