菜单

SQLite 入门教程一 基本控制台(终端)命令

2018年11月16日 - sqlite

同等、基本简介

平等、基本简介

SQLite
是一个压的(self-contained)、无服务器的、零配置的、事务型的涉及项目数据库引擎。因为他那个有些,所以啊足以看做嵌入式数据库内建造在公的应用程序中。SQLite
被采用在 Solaris 10操作系统、Mac OS 操作系统、iPhone 和 Skype 中。QT4
、Python 、 PHP 都默认支持 SQLite ,Firefox Amarok
等风靡的应用程序在其中也应用了 SQLite.

SQLite
是一个憋的(self-contained)、无服务器的、零配置的、事务型的关联项目数据库引擎。因为他煞是粗,所以也足以当做嵌入式数据库内建筑在你的应用程序中。SQLite
被用在 Solaris 10操作系统、Mac OS 操作系统、iPhone 和 Skype 中。QT4
、Python 、 PHP 都默认支持 SQLite ,Firefox Amarok
等风靡的应用程序在里边也利用了SQLite.

SQLite   数据库引擎实现了要的 SQL-92
标准,引擎本身只是生一个文本,大小非至 300k
,但是并无作为一个单身的历程运行,而是动态或者静态的链接到任何应用程序中。它生成的数据库文件是一个惯常的磁盘文件,可以停在旁目录下。SQLite
本身是 C 语言开发之,开源也跳平台,并且于有的主流编程语言支持。

SQLite   数据库引擎实现了重点的SQL-92
标准,引擎本身只是生一个文本,大小非交 300k
,但是连无当作一个单独的历程运行,而是动态或者静态的链接到任何应用程序中。它生成的数据库文件是一个寻常的磁盘文件,可以停放于另目录下。SQLite
本身是 C 语言开发的,开源也超过平台,并且让抱有的主流编程语言支持。

相关资源

有关资源

sqlite.org
wikipedia.org

sqlite.org

其次、下载安装

wikipedia.org

Windows
版的下载地址也:sqlite-shell-win32-x86-3070701.zip

老二、下载安装

咱们这边下载的凡命令执行版,所以是一个可执行文件,还有一个动态链接库版本,如果你的应用程序需要嵌入式数据库,可以下载者版。当然,如果你愿意折腾,下载源代码自己编译也是可的。下载就,解压出来就是一个文本:
sqlite3.exe ,可以放到自由一个路下,然后把这路在到 PATH
环境变量中,这样我们就是好随时在控制台中运作 SQLite 命令行工具了。

在 Windows 上安装SQLite

老三、基本命令

    请看 SQLite 下载页面,从 Windows 区下载预编译的二进制文件。

1、进入命令行环境:sqlite3
开辟一个控制高窗口,输入 sqlite3 回车,这时你虽入了 SQLite
命令行环境,如图

    您需下载 sqlite-shell-win32-*.zip和 sqlite-dll-win32-*.zip
压缩文件。

图片 1

    创建文件夹C:\sqlite,并在此文件夹下解压上面两只压缩文件,将获取
sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。

它们显示了本号,并告知您各个一样长 SQL 语句必须用分号 ; 结尾

    添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3
命令,将显得如下结果。

2、命令执行助:.help
每当命令行环境下输入 .help
回车,显示所有可使的吩咐和这些命令的增援。注意:所有的一声令下开头都是一个接触

C:\>sqlite3

3、退出命令行环境
.quit 或者 .exit  都好退

SQLite version 3.7.15.2 2013-01-09 11:53:05

季、数据库和表的系命令

Enter “.help” for instructions

1、创建一个初的数据库:sqlite3     文件称

Enter SQL statements terminated with a “;”

先行成立一个 Db 目录,并在 Db 目录中创造一个 test.db
数据库文件,打开控制高窗口,命令如下:

sqlite>

复制代码 代码如下:

此时此刻,几乎有版本的Linux 操作系统还附带
SQLite。所以,只要动下的一声令下来检查你的机器及是否曾经设置了 SQLite。

mkdir Db
cd Db
sqlite3 test.db

$sqlite3

2、打开一个早就存在的数据库:sqlite3      已经在的文本称

SQLite version3.7.15.2 2013-01-09 11:53:05

创立一个新数据库和开辟一个都在的数据库命令是一样模一样的,如果文件于当前目录下未存在,则新建;如果存在,则打开。

Enter”.help” for instructions

3、导入数据:.read     数据文件

Enter SQLstatements terminated with a “;”

开辟记事本,并拿下列 SQL 语句复制到记事本中,保存也 test.sql
到面说到之 Db 目录下,在指令行环境中输入

sqlite>

.read   test.sql

苟没看出上面的结果,那么就意味着没有以 Linux 机器上安装
SQLite。因此,让咱循下面的步调安装 SQLite:

就要有所的数码导入到 test.db 数据库被。

    请看 SQLite 下载页面,从源代码区下载 sqlite-autoconf-*.tar.gz。

test.db 导入数据

    步骤如下:

复制代码 代码如下:

$tar xvfzsqlite-autoconf-3071502.tar.gz

BEGIN TRANSACTION;
CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);
INSERT INTO Cars VALUES(1,’Audi’,52642);
INSERT INTO Cars VALUES(2,’Mercedes’,57127);
INSERT INTO Cars VALUES(3,’Skoda’,9000);
INSERT INTO Cars VALUES(4,’Volvo’,29000);
INSERT INTO Cars VALUES(5,’Bentley’,350000);
INSERT INTO Cars VALUES(6,’Citroen’,21000);
INSERT INTO Cars VALUES(7,’Hummer’,41400);
INSERT INTO Cars VALUES(8,’Volkswagen’,21600);
COMMIT;

$cdsqlite-autoconf-3071502

BEGIN TRANSACTION;
CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice integer
CHECK(OrderPrice>0),
                    Customer text);
INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, “Williamson”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(200, “Robertson”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(40, “Robertson”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, “Smith”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(100, “Robertson”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(50, “Williamson”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(150, “Smith”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(250, “Smith”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(840, “Brown”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(440, “Black”);
INSERT INTO Orders(OrderPrice, Customer) VALUES(20, “Brown”);
COMMIT;

$./configure–prefix=/usr/local

BEGIN TRANSACTION;
CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT
NULL,
                     Sex text CHECK(Sex IN (‘M’, ‘F’)));
INSERT INTO Friends VALUES(1,’Jane’, ‘F’);
INSERT INTO Friends VALUES(2,’Thomas’, ‘M’);
INSERT INTO Friends VALUES(3,’Franklin’, ‘M’);
INSERT INTO Friends VALUES(4,’Elisabeth’, ‘F’);
INSERT INTO Friends VALUES(5,’Mary’, ‘F’);
INSERT INTO Friends VALUES(6,’Lucy’, ‘F’);
INSERT INTO Friends VALUES(7,’Jack’, ‘M’);
COMMIT;

$make

BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS Customers(CustomerId integer PRIMARY KEY,
Name text);
INSERT INTO Customers(Name) VALUES(‘Paul Novak’);
INSERT INTO Customers(Name) VALUES(‘Terry Neils’);
INSERT INTO Customers(Name) VALUES(‘Jack Fonda’);
INSERT INTO Customers(Name) VALUES(‘Tom Willis’);

$make install

CREATE TABLE IF NOT EXISTS Reservations(Id integer PRIMARY KEY,
                                        CustomerId integer, Day text);
INSERT INTO Reservations(CustomerId, Day) VALUES(1, ‘2009-22-11’);
INSERT INTO Reservations(CustomerId, Day) VALUES(2, ‘2009-28-11’);
INSERT INTO Reservations(CustomerId, Day) VALUES(2, ‘2009-29-11’);
INSERT INTO Reservations(CustomerId, Day) VALUES(1, ‘2009-29-11’);
INSERT INTO Reservations(CustomerId, Day) VALUES(3, ‘2009-02-12’);
COMMIT;

上述手续将于 Linux 机器上设置 SQLite,您可随上述讲解的进行验证。

BEGIN TRANSACTION;
CREATE TABLE Names(Id integer, Name text);
INSERT INTO Names VALUES(1,’Tom’);
INSERT INTO Names VALUES(2,’Lucy’);
INSERT INTO Names VALUES(3,’Frank’);
INSERT INTO Names VALUES(4,’Jane’);
INSERT INTO Names VALUES(5,’Robert’);
COMMIT;

在 Mac OS X 上安装SQLite

BEGIN TRANSACTION;
CREATE TABLE Books(Id integer PRIMARY KEY, Title text, Author text,
                   Isbn text default ‘not available’);
INSERT INTO Books VALUES(1,’War and Peace’,’Leo
Tolstoy’,’978-0345472403′);
INSERT INTO Books VALUES(2,’The Brothers Karamazov’,
                         ‘Fyodor Dostoyevsky’,’978-0486437910′);
INSERT INTO Books VALUES(3,’Crime and Punishment’,
                         ‘Fyodor Dostoyevsky’,’978-1840224306′);
COMMIT

新式版本的 Mac OS

4、列有具有的数据表: .tables

X 会预安装 SQLite,但是只要没有可用的装,只待以如下步骤进行:

做到地方装有的做事下,我们尽管好列出所有的数据表了

    请看 SQLite 下载页面,从源代码区下载 sqlite-autoconf-*.tar.gz。

图片 2

    步骤如下:

5、显示数据库结构:.schema

$tar xvfzsqlite-autoconf-3071502.tar.gz

实在就是有 SQL 语句,他们讲述了数据库的结构,如图

$cdsqlite-autoconf-3071502

图片 3  

$./configure–prefix=/usr/local

6、显示表的构造:.schema    表名

$make

图片 4

$make install

 7、导出某个表的数据: .dump    表名

上述手续将在 Mac OS

此时我们得望,整个表以 SQL
语句之款式为导出来了,但是偏偏是显得在巅峰上,如何管其导出到文件被也?

X 机器上设置 SQLite,您可行使下列命令进行求证:

图片 5

$sqlite3

8、设置导出目标:

SQLite version3.7.15.2 2013-01-09 11:53:05

.output 文件名
或者
.output stdout
先期运行 .output cars.sql ,然后再度运行 .dump
命令试试看?如果一旦东山再起成导出至极点(标准输出),则运行 .output stdout

Enter”.help” for instructions

五、数据展示相关命令

Enter SQLstatements terminated with a “;”

1、设置分隔符:.separator 分隔符

sqlite>

我们可以率先运行 SELECT * FROM Names; ,可以望默认的隔符是 |
运行.separator : 以后,再 SELECT * FROM Names;,可以见到分隔符已经化为
: 了

末,在 SQLite 命令提示符下,使用 SQLite 命令做练习。

图片 6

其三、基本命令

2、设置显示模式:.mode    模式

1、进入命令行环境:sqlite3

发某些栽显示模式,默认的凡 list 显示模式,一般我们应用 column
显示模式,还来另外几种植显示模式可 .help 看 mode
相关内容。看看下面的觊觎,和点是休是显示的免相同了?

打开一个操纵高窗口,输入sqlite3 回车,这时你不怕上了 SQLite
命令行环境,如图

图片 7

[if !vml]

3、显示标题栏:.headers   on

[endif]

看,是免是还要无极端相同了?

她显得了本子号,并告诉你各个一样长条 SQL 语句必须用分号;结尾

图片 8

2、命令执行助:.help

4、设置各一样列的展示涨幅:.width     w1,w2,w3………

于指令行环境下输入.help
回车,显示所有可利用的指令和这些命令的帮忙。注意:所有的授命开头都是一个沾

部分情节,默认的升幅显示不产,这个令就时有发生因此了

3、退出命令行环境

5、设置 NULL 值显示成什么则: .nullvalue     你想只要之NULL值格式

.quit 或者.exit  都好退

默认情况下NULL值什么吗无显得,你可以安装成你自己想只要的法

季、数据库和表的连带命令

图片 9

1、创建一个新的数据库:sqlite3     文件称

6、列有目前来得格式设置情况:.show

先行成立一个 Db 目录,并在 Db 目录中开创一个 test.db
数据库文件,打开控制高窗口,命令如下:

图片 10

mkdir Db

7、配置文件 .sqliterc

cd Db

倘我们每次上命令行都如再安装显示格式,很烦,其实 .show
命令列出底有安装项都足以保留到一个 .sqliterc
文件中,这样每次上命令执行就是自动安装好了。.sqlterc 文件于 Linux
下保存在用户的 Home 目录下,在 Windows
下可以保留至其他目录下,但是要装环境变量让数据库引擎能找到它们,感兴趣之好望帮助。 

sqlite3 test.db

您或许感兴趣之稿子:

2、打开一个业已是的数据库:sqlite3      已经是的文件称

创一个新数据库暨开拓一个就是的数据库命令是一模一样模型一样的,如果文件于当前目录下未设有,则新建;如果有,则打开。

3、导入数据:.read     数据文件

开拓记事本,并拿下列SQL 语句复制到记事本中,保存也 test.sql 到地方说及之
Db 目录下,在命令行环境中输入

1

.read   test.sql

将有所的数码导入到test.db 数据库被。

test.db 导入数据

BEGINTRANSACTION;

CREATE TABLECars(Id integer PRIMARY KEY, Name text, Cost integer);

INSERT INTO CarsVALUES(1,’Audi’,52642);

INSERT INTO CarsVALUES(2,’Mercedes’,57127);

INSERT INTO CarsVALUES(3,’Skoda’,9000);

INSERT INTO CarsVALUES(4,’Volvo’,29000);

INSERT INTO CarsVALUES(5,’Bentley’,350000);

INSERT INTO CarsVALUES(6,’Citroen’,21000);

INSERT INTO CarsVALUES(7,’Hummer’,41400);

INSERT INTO CarsVALUES(8,’Volkswagen’,21600);

COMMIT;

BEGINTRANSACTION;

CREATE TABLEOrders(Id integer PRIMARY KEY, OrderPrice integer
CHECK(OrderPrice>0),

                    Customer text);

INSERT INTOOrders(OrderPrice, Customer) VALUES(1200, “Williamson”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(200, “Robertson”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(40, “Robertson”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(1640, “Smith”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(100, “Robertson”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(50, “Williamson”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(150, “Smith”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(250, “Smith”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(840, “Brown”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(440, “Black”);

INSERT INTOOrders(OrderPrice, Customer) VALUES(20, “Brown”);

COMMIT;

BEGINTRANSACTION;

CREATE TABLEFriends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,

                     Sex text CHECK(Sex IN (‘M’, ‘F’)));

INSERT INTOFriends VALUES(1,’Jane’, ‘F’);

INSERT INTOFriends VALUES(2,’Thomas’, ‘M’);

INSERT INTOFriends VALUES(3,’Franklin’, ‘M’);

INSERT INTOFriends VALUES(4,’Elisabeth’, ‘F’);

INSERT INTOFriends VALUES(5,’Mary’, ‘F’);

INSERT INTOFriends VALUES(6,’Lucy’, ‘F’);

INSERT INTOFriends VALUES(7,’Jack’, ‘M’);

COMMIT;

BEGINTRANSACTION;

CREATE TABLE IFNOT EXISTS Customers(CustomerId integer PRIMARY KEY, Name
text);

INSERT INTOCustomers(Name) VALUES(‘Paul Novak’);

INSERT INTOCustomers(Name) VALUES(‘Terry Neils’);

INSERT INTOCustomers(Name) VALUES(‘Jack Fonda’);

INSERT INTOCustomers(Name) VALUES(‘Tom Willis’);

CREATE TABLE IFNOT EXISTS Reservations(Id integer PRIMARY KEY,

                                        CustomerId integer, Day text);

INSERT INTOReservations(CustomerId, Day) VALUES(1, ‘2009-22-11’);

INSERT INTOReservations(CustomerId, Day) VALUES(2, ‘2009-28-11’);

INSERT INTOReservations(CustomerId, Day) VALUES(2, ‘2009-29-11’);

INSERT INTOReservations(CustomerId, Day) VALUES(1, ‘2009-29-11’);

INSERT INTOReservations(CustomerId, Day) VALUES(3, ‘2009-02-12’);

COMMIT;

BEGINTRANSACTION;

CREATE TABLENames(Id integer, Name text);

INSERT INTONames VALUES(1,’Tom’);

INSERT INTONames VALUES(2,’Lucy’);

INSERT INTONames VALUES(3,’Frank’);

INSERT INTONames VALUES(4,’Jane’);

INSERT INTONames VALUES(5,’Robert’);

COMMIT;

BEGINTRANSACTION;

CREATE TABLEBooks(Id integer PRIMARY KEY, Title text, Author text,

                   Isbn text default ‘notavailable’);

INSERT INTOBooks VALUES(1,’War and Peace’,’Leo
Tolstoy’,’978-0345472403′);

INSERT INTOBooks VALUES(2,’The Brothers Karamazov’,

                         ‘FyodorDostoyevsky’,’978-0486437910′);

INSERT INTOBooks VALUES(3,’Crime and Punishment’,

                         ‘FyodorDostoyevsky’,’978-1840224306′);

COMMIT

4、列有富有的数据表:.tables

成功地方有的办事之后,我们就算足以列出所有的数据表了

[if !vml]

[endif]

5、显示数据库结构:.schema

实际上就是是片 SQL 语句,他们讲述了数据库的组织,如图

  [if !vml]

[endif]

6、显示表的结构:.schema    表名

[if !vml]

[endif]

 7、导出某个表的数码:.dump    表名

[if !vml]

[endif]

此刻我们得看来,整个表以SQL
语句的款式为导出来了,但是一味是亮在顶峰上,如何将她导出到文件中呢?

8、设置导出目标:

.output 文件名

或者

1

.output stdout

先运行 .output

cars.sql ,然后再次运行 .dump
命令试试看?如果只要还原成导出至巅峰(标准输出),则运行.output stdout

五、数据显示相关命令

1、设置分隔符:.separator 分隔符

我们可以率先运行SELECT * FROM Names;,可以视默认的隔符是|

运行.separator

: 以后,再 SELECT * FROM Names;,可以观看分隔符已经成为 : 了

[if !vml]

[endif]

2、设置显示模式:.mode    模式

发生几许种显示模式,默认的凡list 显示模式,一般我们采用 column
显示模式,还产生另几种显示模式可以 .help 看 mode
相关内容。看看下面的希冀,和点是勿是显得的未雷同了?

[if !vml]

[endif]

3、显示标题栏:.headers   on

探望,是不是同时未顶雷同了?

[if !vml]

[endif]

4、设置各一样排列的显得涨幅:.width     w1,w2,w3………

片内容,默认的涨幅显示不生,这个命令就发因此了

5、设置 NULL 值显示成什么样子:.nullvalue     你想要之NULL值格式

默认情况下NULL值什么啊未亮,你得设置成你协调想要之指南

[if !vml]

[endif]

6、列有脚下显示格式设置情况:.show

[if !vml]

[endif]

7、配置文件.sqliterc

如若我们每次上命令行都如更安装显示格式,很烦,其实 .show
命令列出底备安装项都得保留到一个.sqliterc
文件被,这样每次上命令执行就机关装好了。.sqlterc 文件在 Linux
下保存在用户的 Home 目录下,在 Windows
下可以保留至其它目录下,但是要装环境变量让数据库引擎能找到她,感兴趣的可省帮助。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图