如何从CLI解释器准备语句?

时间:2013-11-19 07:51:00

标签: sqlite prepared-statement command-line-interface

如何从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解释器。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

可以像这样调用:

User "jeffatwood"

将执行所需的结果。

编辑:

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

sqlite3 CLI工具不会对这些产品有任何好处:

  • 所有参数必须在SQL语句中输入,使绑定无用;
  • 一次返回所有查询行,无需逐行获取;
  • 必须重新输入重复的命令 - 小的速度提升会导致使用预编译的语句。