window上用cmd,把sqlite3的整个库按表导出到一个目录

来源:互联网 发布:笔记本电脑安装centos 编辑:程序博客网 时间:2024/05/16 18:32


因为项目需要将SQLite3的一些库数据倒到POSTGRESQL中,为了避免一个个数据表的导出累,花了几分钟写了个,估计有懒人用得着。

文件:export.bat

echo offmkdir %1sqlite3 %1.db ".schema" > %1\init.sqlfor /f "tokens=1* delims=:" %%a in ('sqlite3 %1.db ".tables"') do (echo "-----------------"echo %%afor %%1 in (%%a) do (sqlite3 -csv %1.db "SELECT * FROM %%1" > %1\%%1.csv)echo "-----------------"):endpause


比如有一个sqliteaaaa.db
数据库执行:export sqliteaaaa
当然前提是sqlite3.exe要在系统目录(或PATH得到,或在当前目录)之后就建立了一个sqliteaaaa文件夹,里面以“表名.csv”放着数据,0B的就是没数据的;另外,init.sql里放着建表SQL,要调成postgresql的格式,还要做点小动作。
另外:偷偷告诉一下啊。(某.zydb数据库文件,其实就是sqlite3的,把前16个字节改成sqlite3数据库的,是“SQLite format 3”,注意0x0f是 00,不是20)
0 0