sqlite 合并两个数据库中的特定表
命令客户端
打开 sqlite3.exe
按下面命令执行即可。
.open 'v1/mydb.db'
attach 'v2/mydb.db' as db2;
insert into main.表1 select * from db2.表1;
insert into main.表2 select * from db2.表2;
.exit
参数 | 说明 |
---|---|
v1/mydb.db |
主db文件路径,合并后的结果就是它。 |
v2/mydb.db |
要合并进 主db 的库。(合完后我们就不需要它了) |
main |
.open 打开的是主库,默认名称为 main |
db2 |
这是我们为 attach 的库取的别名 |
合并SQLite.bat
- 将两个要合并的
db
文件拖到合并SQLite.bat
即可生成合并后的merged.db
- 需要合并的在这里设置:
SET "TABLE_NAMES=表1 表2 表3 表4"
(用空格分割)
@echo off
CHCP 65001 > nul
cd /d %~dp0
REM 定义sqlite3 路径,数据库文件路径
SET "SQLITE3_EXE=sqlite\sqlite3.exe"
SET "DB_1=%1"
SET "DB_2=%2"
SET "DB_merged=merged.db"
SET "TEMP_SQL_FILE=temp_sql_filt_4_import.txt"
SET "TABLE_NAMES=表1 表2 表3 表4"
echo ------------------------------------------
echo 初始化
echo ------------------------------------------
echo.
echo 正在创建 %DB_1% 副本 %DB_merged%
copy "%DB_1%" "%DB_merged%" > nul
echo.
echo