sqlite 修改表名,合并数据库(文件)

修改表名:
ALTER TABLE orig_table_name RENAME TO tmp_table_name;

将某个数据库的一个表的数据插入到另一个数据库的某个表里:
1、先连接数据库A
2、再attach数据库B作为第二数据库:   ATTACH "c:\database_b\places.sqlite" AS SecondaryDB;   (若还要attach其它数据库,则 ATTACH "c:\database_b\third.sqlite" AS ThirdDB;
3、(若要将B中的某个表的数据追加到A中的某个表中,则: INSERT OR IGNORE INTO MyTable SELECT * FROM SecondaryDB.MyTable;  但条件是这2个表的id主键没有冲突,若有冲突,则修改B的主键)
4、然后:  
COMMIT;
5、最后:  DETACH DATABASE SecondaryDB;


将某个数据库的整个表整体的复制到另一个数据库里:
1、先连接数据库A
2、再attach数据库B作为第二数据库:   ATTACH "c:\database_b\places.sqlite" AS SecondaryDB;   (若还要attach其它数据库,则 ATTACH "c:\database_b\third.sqlite" AS ThirdDB;
3、  CREATE TABLE newTableInDB1 AS SELECT * FROM SecondaryDB.oldTableInMyOtherDB;
4、 commit;
5、最后:  DETACH DATABASE SecondaryDB;
附: 
1、查看表的schema格式:  .schema tablename      或者 PRAGMA SecondaryDB.table_info(table_name);
2、对于attached数据库,若要查看它的表,则:  SELECT name FROM SecondaryDB.sqlite_master WHERE type='table';
posted @ 2015-01-18 19:20  微信公众号--共鸣圈  阅读(4954)  评论(0编辑  收藏  举报