尝试将 SqlCe 数据库转换为 SQLite,我将其导出到
.sql
文件。现在我将如何使用 sqlite.exe
从这个 .sql
文件创建数据库?
sql3.exe
文件放在哪里?sqlite.exe
shell 中使用什么命令语法?
使用以下命令行:
sqlite3 -init dump.sql newsqlite.db ""
它将通过执行
newsqlite.db
中的语句来创建新的SQLite数据库文件dump.sql
。 sqlite3自动退出需要空字符串""
。
如果
newsqlite.db
文件已存在并包含某些数据,导入可能会失败,除非您对所有表和索引创建语句使用 IF NOT EXISTS
。
将
sqlite3.exe
放在任何你想要的地方,只要你记住那个地方,你就可以从那里开始sqlite3
。
在命令提示符下将脚本应用到数据库(可能是新创建的数据库):
sqlite3.exe my-new-db.somesuffix < myscript.sql
在交互式
sqlite3
会话中执行脚本:
sqlite3.exe my-new-db.somesuffix
....
.read myscript.sql
....
这两种变体有时都是有效且可用的。 (注意:如果您的
.sql
是为非 sqlite 数据库生成的,我希望它需要进行一些更改才能在 sqlite3
中工作。并且存储过程和用户定义函数之类的东西肯定会丢失)。
虽然该线程已有多年历史,但我还没有在任何地方看到我提出的选项:
set "database=example.db"
%~dp0sqlite3.exe -cmd ".read script.sql" %database%.
执行脚本后,此选项将打开一个命令窗口,其中 SQLite 正在运行并且数据库也打开。