1.sqlite3 atlanta.db(进入Atlanta数据库) 1.附加allmsa.db。这可以使用命令ATTACH '/mnt/fastaccessDS/core/csv/allmsa.db' AS AM;来完成,请注意,我们给出了要附加的数据库的完整路径。 1.使用sqlite> .databases检查数据库列表您可以看到如下输出
seq name file
--- --------------- ----------------------------------------------------------
0 main /mnt/fastaccessDS/core/csv/atlanta.db
2 AM /mnt/fastaccessDS/core/csv/allmsa.db
1.现在你来到了你的实际目标。使用命令INSERT INTO atlanta SELECT * FROM AM.atlanta; 这应该能达到你的目的。
> DROP TABLE IF EXISTS db2.t1; CREATE TABLE db2.t1 AS SELECT * FROM db1.t1;
第二种情况:如果是一张大table,使用INSERT if not exists类型的解决方案可能会更好。如果您有一个Unique Key列,则更直接,否则您将需要使用字段组合(可能是每个字段),并且在某些情况下,仅使用drop并重新对表进行create会更快;它总是更直接(不需要考虑太多)。 设置:在没有数据库的情况下打开SQLite,这会在内存中创建temporary数据库main,然后打开attach DB1.sqlite和DB2.sqlite
> sqlite3
sqlite> ATTACH "DB1.sqlite" AS db1
sqlite> ATTACH "DB2.sqlite" AS db2
我需要将数据从一个SQL SERVER压缩数据库移动到SQLite,所以使用SQL SERVER 2008,您可以右击该表,然后选择“编写表到”,然后选择“数据到插入”。复制INSERT语句删除‘GO’语句,当使用‘DB Browser for Sqlite’应用程序应用于SQLite数据库时,它将成功执行。
9条答案
按热度按时间gudnpqoy1#
您必须使用ATTACH命令将数据库X与数据库Y连接,然后为要传输的表运行适当的INSERT INTO命令。
或者,如果列没有按顺序匹配:
pw9qyyiw2#
在一行中使用最简单、最正确的方法:
主键和列类型将被保留。
iyzzxitl3#
假设我有两个数据库,即allmsa.db和atlanta.db。假设数据库allmsa.db包含美国所有MSA的表,而数据库atlanta.db为空。
我们的目标是将表Atlanta从allmsa.db复制到atlanta.db。
步骤
1.sqlite3 atlanta.db(进入Atlanta数据库)
1.附加allmsa.db。这可以使用命令
ATTACH '/mnt/fastaccessDS/core/csv/allmsa.db' AS AM;
来完成,请注意,我们给出了要附加的数据库的完整路径。1.使用
sqlite> .databases
检查数据库列表您可以看到如下输出1.现在你来到了你的实际目标。使用命令
INSERT INTO atlanta SELECT * FROM AM.atlanta;
这应该能达到你的目的。
guicsvcw4#
对于一次性操作,您可以使用.Dump和.Read。
从old_db.sqlite转储表my_table
假设其中的表不存在,则将转储文件读取到new_db.sqlite中
现在,您已经克隆了表。要对整个数据库执行此操作,只需在.ump命令中省略表名即可。
额外的好处:数据库可以有不同的编码。
hgqdbh6s5#
将表从一个数据库复制到另一个数据库的目标C代码
uz75evzq6#
第一个场景:DB1.sqlite和DB2.sqlite具有相同的表(T1),但是DB1比DB2更“新”。如果它很小,那么从DB2中删除该表,然后使用数据重新创建它:
第二种情况:如果是一张大table,使用
INSERT if not exists
类型的解决方案可能会更好。如果您有一个Unique Key
列,则更直接,否则您将需要使用字段组合(可能是每个字段),并且在某些情况下,仅使用drop
并重新对表进行create
会更快;它总是更直接(不需要考虑太多)。设置:在没有数据库的情况下打开SQLite,这会在内存中创建
temporary
数据库main
,然后打开attach
DB1.sqlite和DB2.sqlite并使用
.databases
查看附加的数据库及其文件。gwo2fgha7#
最简单的方式是通过SQLite Studio
如果您没有从https://download.cnet.com/SQLiteStudio/3000-10254_4-75836135.html下载
步骤:
1.添加两个数据库。
2.点击查看选项卡,然后点击数据库,如图所示。
3.右键单击要复制的表并复制它。
1.在要粘贴的数据库上单击鼠标右键后粘贴表格。
现在您完成了
k0pti3hp8#
我需要将数据从一个SQL SERVER压缩数据库移动到SQLite,所以使用SQL SERVER 2008,您可以右击该表,然后选择“编写表到”,然后选择“数据到插入”。复制INSERT语句删除‘GO’语句,当使用‘DB Browser for Sqlite’应用程序应用于SQLite数据库时,它将成功执行。
envsm3lx9#
如果您使用DB Browser for SQLite,则可以通过以下步骤将表从一个数据库复制到另一个数据库:
1.打开APP的两个示例,同时加载源数据库和目标数据库。
1.如果目标数据库没有表,则从源数据库复制CREATE语句,然后将SQL语句粘贴到执行SQL选项卡中,然后运行SQL来创建表。
1.在源数据库中,将表导出为CSV文件。
1.在目标数据库中,将CSV文件导入到同名的表中。应用程序将询问您是否要将数据导入到现有表中,单击是。好了。