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

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

合并2个数据库的表:
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;


拷贝2个数据库的表:
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‘;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。