今天学习导入数据
首先进行课堂练习:
这里可以插入缺省值
(以上插了3条记录)
使用insert into xxx select * from xxx2插入表:
使用merge into插入表:
源表4条记录,目的表5条记录。根据product_id匹配,匹配则更新,不匹配则新增。
所以最后记录是6条,且如果product_id一致的时候,数据均为products的数据。
使用copy进行表和文件的copy
课后作业:
1.创建表1并在表中插入数据,分别指定字段和整行为缺省值
create table t1( id integer default 88, name varchar default 'zhanghui');
insert into t1 values(1,'lisi');
insert into t1 values(2,default);
insert into t1 default values;
注意一些语法规则,如values, default values之类的。
2.创建表2并将表1的数据全部导入表2中
create table t2( id integer default 88, name varchar default 'zhanghui');
insert into t2 select * from t1;
3.创建表3和表4,并合并两个表的数据到表3
create table t3( id integer default 88, name varchar default 'zhanghui');
create table t4( id integer default 88, name varchar default 'zhanghui');
insert into t3 values
(1,'1'),
(2,'2'),
(3,'3'),
(4,'4');
insert into t4 values
(1,'11'),
(5,'56'),
(6,'66'),
(7,'77');
merge into t4
using t3
on (t3.id = t4.id)
when matched then
update set t4.name = t3.name
when not matched then
insert values(t3.id, t3.name);
4.将表3的数据输出到文件,再将文件中的数据导入到表5
copy t3 to '/home/omm/t3.dat';
create table t5 (like t3);
copy t5 from '/home/omm/t3.dat';
select * from t5;