SQLite:将表从一个数据库复制到另一个数据库的最简单方法?

r8uurelv  于 2022-11-14  发布在  SQLite
关注(0)|答案(2)|浏览(361)

我有两个SQLite数据库,并且希望将一个表从数据库A复制到数据库B。不应该复制数据库A中的其他表。在Java中实现这一点最简单的方法是什么?
我可以明确地执行类似于从A中选择*的操作,然后将所有这些内容插入到数据库B中,但难道没有更好的方法吗?

7ajki6be

7ajki6be1#

打开要从中复制的数据库,然后运行此代码以附加要复制到的数据库,然后复制表。

ATTACH DATABASE 'other.db' AS other;

INSERT INTO other.tbl
SELECT * FROM main.tbl;
ahy6op9u

ahy6op9u2#

为什么要在Java中这样做?您可以直接在命令行中执行此操作,方法是转储您的表并将其读取到您的其他数据库中:

sqlite3 A.sqlite ".dump some_table" | sqlite3 B.sqlite

如果您需要先删除“B.sqlite”中已有的表,可以使用第二部分中的-cmd开关,以“在读取stdin之前运行命令”:

sqlite3 A.sqlite ".dump some_table" \
| sqlite3 -cmd "DROP TABLE IF EXISTS some_table" B.sqlite

相关问题