📜  SQLite-命令

📅  最后修改于: 2021-01-04 04:54:28             🧑  作者: Mango


本章将带您了解SQLite程序员使用的简单有用的命令。这些命令称为SQLite点命令,但这些命令的例外是它们不应以分号(;)终止。

让我们从在命令提示符处键入一个简单的sqlite3命令开始,它将为您提供SQLite命令提示符,您将在其中发出各种SQLite命令。

$sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>

有关可用的点命令的列表,您可以随时输入“ .help”。例如-

sqlite>.help

上面的命令将显示各种重要的SQLite点命令的列表,下表中列出了这些命令。

Sr.No. Command & Description
1

.backup ?DB? FILE

Backup DB (default “main”) to FILE

2

.bail ON|OFF

Stop after hitting an error. Default OFF

3

.databases

List names and files of attached databases

4

.dump ?TABLE?

Dump the database in an SQL text format. If TABLE specified, only dump tables matching LIKE pattern TABLE

5

.echo ON|OFF

Turn command echo on or off

6

.exit

Exit SQLite prompt

7

.explain ON|OFF

Turn output mode suitable for EXPLAIN on or off. With no args, it turns EXPLAIN on

8

.header(s) ON|OFF

Turn display of headers on or off

9

.help

Show this message

10

.import FILE TABLE

Import data from FILE into TABLE

11

.indices ?TABLE?

Show names of all indices. If TABLE specified, only show indices for tables matching LIKE pattern TABLE

12

.load FILE ?ENTRY?

Load an extension library

13

.log FILE|off

Turn logging on or off. FILE can be stderr/stdout

14

.mode MODE

Set output mode where MODE is one of −

  • csv − Comma-separated values

  • column − Left-aligned columns.

  • html − HTML

    code

  • insert − SQL insert statements for TABLE

  • line − One value per line

  • list − Values delimited by .separator string

  • tabs − Tab-separated values

  • tcl − TCL list elements

  • 15

    .nullvalue STRING

    Print STRING in place of NULL values

    16

    .output FILENAME

    Send output to FILENAME

    17

    .output stdout

    Send output to the screen

    18

    .print STRING…

    Print literal STRING

    19

    .prompt MAIN CONTINUE

    Replace the standard prompts

    20

    .quit

    Exit SQLite prompt

    21

    .read FILENAME

    Execute SQL in FILENAME

    22

    .schema ?TABLE?

    Show the CREATE statements. If TABLE specified, only show tables matching LIKE pattern TABLE

    23

    .separator STRING

    Change separator used by output mode and .import

    24

    .show

    Show the current values for various settings

    25

    .stats ON|OFF

    Turn stats on or off

    26

    .tables ?PATTERN?

    List names of tables matching a LIKE pattern

    27

    .timeout MS

    Try opening locked tables for MS milliseconds

    28

    .width NUM NUM

    Set column widths for “column” mode

    29

    .timer ON|OFF

    Turn the CPU timer measurement on or off

    让我们尝试.show命令来查看SQLite命令提示符的默认设置。

    sqlite>.show
         echo: off
      explain: off
      headers: off
         mode: column
    nullvalue: ""
       output: stdout
    separator: "|"
        width:
    sqlite>
    

    确保在sqlite>提示符和点命令之间没有空格,否则将无法使用。

    格式化输出

    您可以使用以下点命令序列来格式化输出。

    sqlite>.header on
    sqlite>.mode column
    sqlite>.timer on
    sqlite>
    

    上面的设置将产生以下格式的输出。

    ID          NAME        AGE         ADDRESS     SALARY
    ----------  ----------  ----------  ----------  ----------
    1           Paul        32          California  20000.0
    2           Allen       25          Texas       15000.0
    3           Teddy       23          Norway      20000.0
    4           Mark        25          Rich-Mond   65000.0
    5           David       27          Texas       85000.0
    6           Kim         22          South-Hall  45000.0
    7           James       24          Houston     10000.0
    CPU Time: user 0.000000 sys 0.000000
    

    sqlite_master表

    主表保存有关数据库表的关键信息,称为sqlite_master 。您可以看到其架构,如下所示:

    sqlite>.schema sqlite_master
    

    这将产生以下结果。

    CREATE TABLE sqlite_master (
       type text,
       name text,
       tbl_name text,
       rootpage integer,
       sql text
    );