dot*_*hen 5 sqlite prepared-statement command-line-interface
如何从 SQLite CLI 准备语句?我找到了编译 SQL 语句页面,但它更适合 ODBC 接口,而不是 CLI 解释器。我正在寻找类似于以下内容的东西:
sqlite> pq = prepare(SELECT * FROM Users WHERE username=?)
sqlite> run(pq, 'jeffatwood')
0 | jeffatwood | hunter2 | admin
sqlite>
Run Code Online (Sandbox Code Playgroud)
SQLite CLI 是否有任何此类功能?请注意,我指的不是 Bash CLI,而是 SQLite 的 CLI 解释器。
也许使用命名参数的SQL 参数可以解决问题
sqlite> .param set :user 'jeffatwood'
sqlite> select * from Users where username = :user
Run Code Online (Sandbox Code Playgroud)
应该返回所需的行。
CLI 并不是为此而设计的。为此,您必须在可用的编程语言上使用 SQLite API。
您还可以编写批处理/shell 文件来处理 CLI 调用。
例如,在 Windows 中,文件名称User.bat如下:
@SQLITE3.EXE some.db "SELECT * FROM Users WHERE username='%~1'"
Run Code Online (Sandbox Code Playgroud)
可以这样称呼:
User "jeffatwood"
Run Code Online (Sandbox Code Playgroud)
将执行所需的结果。
编辑:
关于准备/编译的语句:使用这些语句,您可以绑定参数、逐行获取查询并以更快的方式重复相同的命令。
sqlite3 CLI 工具不会利用这些优势: