sqlite命令行工具
2015-06-09 11:27
295 查看
sqlite3命令行工具 - By Dorayo
sqlite3命令行工具是基于终端的SQLite软件,可以查询交互,并且可以多种格式显示结果。它也可以用在脚本中。打开终端,键入如下命令:
~ sqlite3 test.db SQLite version 3.8.5 2014-08-15 22:37:57 Enter ".help" for usage hints. sqlite>
.help命令是sqlite3的元命令工具之一,它列出了sqlite3所有的元命令。
.exit 和 .quit 命令退出sqlite3会话。我们还可以使用组合键Ctrl + D 退出sqlite3。
.databases命令显示了连接数据库。
.tables表命令列出可用的表。
创建一个数据库
使用sqlite3命令行工具来创建一个新的数据库文件:$ sqlite3 test.db
这里我们创建一个新的test.db数据库。如果文件存在,则打开数据库。
创建数据库表
CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, Price 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);
基本sqlite3元命令
sqlite> .tables Cars
.tables命令显示可用的表。
sqlite> SELECT * FROM cars; 1|Audi|52642 2|Mercedes|57127 3|Skoda|9000 4|Volvo|29000 5|Bentley|350000 6|Citroen|21000 7|Hummer|41400 8|Volkswagen|21600
SELECT查询语句的输出默认情况下是按行输出,行分隔符是
|。
sqlite> .separator : sqlite> SELECT * FROM cars; 1:Audi:52642 2:Mercedes:57127 3:Skoda:9000 4:Volvo:29000 5:Bentley:350000 6:Citroen:21000 7:Hummer:41400 8:Volkswagen:21600
上面使用了新的分隔符
:
还有其他几个可用的输出模式。下面的示例显示列的输出模式:
sqlite> .mode column sqlite> .headers on sqlite> SELECT * FROM cars; Id Name Price ---------- ---------- ---------- 1 Audi 52642 2 Mercedes 57127 3 Skoda 9000 4 Volvo 29000 5 Bentley 350000 6 Citroen 21000 7 Hummer 41400 8 Volkswagen 21600
sqlite> .width 15 18 sqlite> SELECT Name, Price FROM cars; Name Price --------------- ------------------ Audi 52642 Mercedes 57127 Skoda 9000 Volvo 29000 Bentley 350000 Citroen 21000 Hummer 41400 Volkswagen 21600
在这里,我们改变列宽。第一列将15个字符宽,第二列是18。
sqlite> .show echo: off eqp: off explain: off headers: on mode: column nullvalue: "" output: stdout separator: ":" stats: off width: 15 18
.show 命令列出各种设置。这些包括输出模式,在列表模式下使用的分隔符和是否显示头部。
sqlite> .schema Cars CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, Price INTEGER);
.schema 命令显示表的结构。它返回创建表的DDL SQL。
.prompt 命令可以改变的sqlite3的提示。
sqlite> .prompt "> " ". " > SELECT * FROM Cars . LIMIT 2; Id Name Price --------------- ------------------ ---------- 1 Audi 52642 2 Mercedes 57127
有两个提示。最主要是第一个提示,另一个是继续提示。默认的主提示符是’sqlite>’ 和默认的继续提示’…>’。
从shell执行SQL
$ sqlite3 test.db "SELECT * FROM Cars;"
Dumping tables
我们将使用.dump命令来转储。sqlite> .dump Cars
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, Price 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;
.dump 命令显示了我们所必需的SQL创建表的信息。
sqlite> .output cars2.sql sqlite> .dump Cars
我们也可以将输出重定向到一个文件中。
.output命令会将输出重定向cars2.sql文件。
Reading SQL
我们可以从一个文件名读取SQL语句.read命令。
sqlite> .tables Cars Cars sqlite> DROP TABLE Cars; sqlite> .tables Cars sqlite> .read cars.sql sqlite> .tables Cars Cars sqlite> SELECT * FROM Cars WHERE Id=1; Id Name Price ---------- ---------- ---------- 1 Audi 52642
The .sqlite_history file
命令和语句中存档于 .sqlite_history文件。该文件位于主目录。$ tail -5 ~/.sqlite_history
使用tail命令,我们显示最后五项。
Resource file
sqlite3 工具有一个资源文件 .sqliterc 。 它位于主目录。如果没有这些文件,我们可以简单地创建它。 这些文件可以包含元命令,或常规的SQL语句。$ cat .sqliterc .mode column .header on .nullvalue NULL
这里是一个简单的资源文件的例子,它有三个元命令。有了资源文件,我们不需要再次执行已有的元命令。当我们开始 sqlite3 工具,他们将自动执行。
相关文章推荐
- 10 篇对初学者和专家都有用的 Linux 命令教程
- 设计模式之行为型模式 - 调用行为的传递问题
- linux mknod命令与磁盘对应一例
- 通晓网络测试常用命令
- FTP命令大全
- Netsh.exe 工具和命令行开关说明
- set 命令特殊用法
- PowerShell重启服务命令Restart-Service详细介绍
- Netsh 命令备份和恢复网络设置
- DOS命令全集(一)
- 批处理中使用系统路径的命令
- 使用BAT一句话命令实现快速合并JS、CSS
- 三个有用的 Switch 命令
- 写批处理必备的一些命令参数使用技巧
- win运行字符命令
- Powershell小技巧之使用WS-Man来调用PowerShell命令
- MySQL基本命令、常用命令总结
- telnet连接操作memcache服务器详解
- sql left join 命令详解
- PowerShell中改变F1帮助文档命令获取方式为在线文档的方法