【问题标题】:Run command-line SQLite 3 query and exit运行命令行 SQLite 3 查询并退出
【发布时间】:2015-09-19 10:03:20
【问题描述】:

我们可以将-cmd 选项与sqlite3 一起使用来运行查询,然后sqlite3 打开数据库并在其中等待交互式输入。我们如何从命令行对sqlite3 运行查询并退出?

【问题讨论】:

    标签: shell command-line sqlite


    【解决方案1】:

    只需将命令包含在数据库文件参数后的引号中即可。

    例如,下面创建一个名为abc的表:

    sqlite3 test.db 'create table abc (col0 int)'
    

    【讨论】:

      【解决方案2】:

      您可以使用.exit 命令(1),优雅地退出:

      sqlite3 test.db "select * from abc;" ".exit"
      

      文档:Command Line Shell For SQLite

      【讨论】:

      • +1:这对于启用标题和设置模式很有用:sqlite3 db.sqlite3 ".headers on" ".mode column" "select * from auth_user;" | less -S -#10!
      • 您也可以使用命令行参数设置模式:sqlite3 -box my.db "select * from table;"。输入 sqlite3 --help 以查看其他选项。
      • sqlite 文档的链接有助于了解命令 - 但如果不在 sqlite 环境中编写命令,则无济于事。所以我会补充一点。
      【解决方案3】:

      如果您在从命令行运行 SQLite 3 时遇到绝对“必须”使用 -cmd 标志的情况,则可以使用连续的 blank 命令退出。

      例如:

      sqlite3 test.db "select * from urls;" "" > test.txt
      

      在本例中,"" 将导致 SQLite 3 进程退出。 (至少在 OS X 上对我有用。)

      【讨论】:

        【解决方案4】:

        多行查询也可能有用:

        sqlite3 ./database.db <<EOF
            SELECT *
            FROM something
            LIMIT 5
        EOF
        

        【讨论】:

          猜你喜欢
          • 2014-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-07
          • 2013-11-09
          • 2022-10-03
          相关资源
          最近更新 更多