如何从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语句中键入,从而使绑定无用;
所有查询行立即返回,无需逐行获取;
必须重新键入重复的命令-小速度的改进将导致使用预编译的语句。