命令行

# 从文件中执行sql语句
sqlite> .read cars.sql
# 打开test.db数据库文件,如果文件不存在,创建
sqlite3 test.db
# 元命令
# 显示可用表
.tables


sqlite> .mode column
sqlite> .headers on
sqlite> SELECT * FROM Friends;
Id          Name        Sex
----------  ----------  ----------
1           Jane        F
2           Thomas      M
3           Franklin    M
4           Elisabeth   F
5           Mary        F
6           Lucy        F
7           Jack        M

本示例说明如何在 sqlite 的列模式下格式化数据。 .headers命令也已用于显示列标题。 默认情况下,标题是隐藏的。

.width命令调整列的大小。 (此 meta 命令仅与列模式下的表有关。)

sqlite> SELECT Name, Title FROM Authors NATURAL JOIN Books;
Name         Title
-----------  ----------
Jane Austen  Emma
Leo Tolstoy  War and Pe
Joseph Hell  Catch XII
Charles Dic  David Copp
Joseph Hell  Good as Go
Leo Tolstoy  Anna Karen



列宽不足以正确显示所有数据。

sqlite> .width 15 18
sqlite> SELECT Name, Title FROM Authors NATURAL JOIN Books;
Name             Title
---------------  ------------------
Jane Austen      Emma
Leo Tolstoy      War and Peace
Joseph Heller    Catch XII
Charles Dickens  David Copperfield
Joseph Heller    Good as Gold
Leo Tolstoy      Anna Karenia
SQL
在这里,我们更改列宽。 第一列为 15 个字符,第二列为 18 个字符。



.show命令列出了各种设置。 其中包括输出模式,列表模式中使用的分隔符以及标题是否打开。


.schema命令显示表的结构。 它提供了 DDL SQL 来创建表。

sqlite> .schema Cars
CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, Price INTEGER);
SQL
.schema命令显示表的结构。 它提供了 DDL SQL 来创建表。



可以使用.prompt命令更改sqlite3的提示。

sqlite> .prompt "> " ". "
> SELECT * FROM Cars
. LIMIT 2;
Id          Name        Price
----------  ----------  ----------
1           Audi        52642
2           Mercedes    57127
>
SQL
有两个提示。 一个是主提示,另一个是继续提示。 默认的主提示是sqlite>,默认的继续提示是...>。


我们可以从 Shell 执行 SQL 命令。

$ sqlite3 test.db "SELECT * FROM Cars;"


我们将使用.dump命令转储该表。

sqlite> .output cars2.sql
sqlite> .dump Cars
SQL
我们还可以将输出重定向到文件。 .output命令会将输出重定向到cars2.sql文件。

sqlite> .tables
Authors       Cars          Friends       Reservations
Books         Customers     Orders
sqlite> DROP TABLE Cars;
sqlite> .tables
Authors       Customers     Orders
Books         Friends       Reservations
sqlite> .read cars.sql
sqlite> .tables
Authors       Cars          Friends       Reservations
Books         Customers     Orders
sqlite> SELECT * FROM Cars WHERE Id=1;
Id          Name        Price
----------  ----------  ----------
1           Audi        52642

在这里,我们得到 SELECT 语句的输出。 默认情况下,输出模式为 line,分隔符为|。

使用案例

1、输入" sqlite3 + 数据库名.db " (如: " sqlite3 collect.db “) 打开数据库

2、可输入 " .table " 查看数据库中存在哪些表

3、可输入” .schema ’ 查看建表语句

4、通过 SQL 查询语句 " select _ from 表名 " (如:" select _ from Book “)

参考

sqlite 教程