📅  最后修改于: 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点命令的列表,下表中列出了这些命令。
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
);
|