如何从SQLite CLI准备语句?我已经找到页面Compiling An SQL Statement,但是它更适合ODBC接口,而不是CLI解释器。我希望得到类似于以下内容的信息:

sqlite> pq = prepare(SELECT * FROM Users WHERE username=?)
sqlite> run(pq, 'jeffatwood')
0 | jeffatwood | hunter2 | admin
sqlite>


SQLite CLI是否具有任何此类功能?请注意,我指的不是Bash CLI,而是SQLite的CLI解释器。

最佳答案

CLI并非为此设计的。为此,您必须在可用的编程语言上使用SQLite API。

您也可以编写一个批处理/ shell文件来处理CLI调用。

例如,在Windows中,名为User.bat的文件如下所示:

@SQLITE3.EXE some.db "SELECT * FROM Users WHERE username='%~1'"


可以这样称呼:

User "jeffatwood"


将执行所需的结果。

编辑:

关于准备好的/已编译的语句:通过这些语句,您可以绑定参数,逐行获取查询并以更快的方式重复相同的命令。

sqlite3 CLI工具在这些方面没有任何优势:


所有参数必须在SQL语句中键入,从而使绑定无用;
所有查询行立即返回,无需逐行获取;
必须重新键入重复的命令-小速度的改进将导致使用预编译的语句。

09-10 12:32
查看更多