数据表迁移的几个简单操作

把一张表数据全部插入另一张表;

1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:

INSERT INTO 目标表 as  SELECT * FROM 来源表;

    insert into insertTest as select * from insertTest2;

2.如果只希望导入指定字段,可以用这种方法:

INSERT INTO 目标表 (字段1, 字段2, ...) as SELECT 字段1, 字段2, ... FROM 来源表;(这里的话字段必须保持一致)

   insert into insertTest2(id) as  select id from insertTest2;

3.如果您需要只导入目标表中不存在的记录,可以使用这种方法:

 

INSERT INTO 目标表 

 (字段1, 字段2, ...) 

 SELECT 字段1, 字段2, ... 

 FROM 来源表 

 WHERE not exists (select * from 目标表 

 where 目标表.比较字段 = 来源表.比较字段);

 

3.清空数据保留结构

Truncate table (boat_tbl表名) ;

 

4.索引应建立在那些将用于JOIN,WHERE判断和ORDERBY排序的字段上。

 

5.尽量不要对数据库中某个含有大量重复的值的字段建立索引。

你可能感兴趣的:(SQL_Postgres)