SQLite教程(八):命令行工具介绍
程序员文章站
2022-03-09 11:51:55
工欲善其事,必先利其器。学好sqlite的命令行工具,对于我们学习sqlite本身而言是非常非常有帮助的。最基本的一条就是,它让我们学习sqlite的过程更加轻松愉快。言归正传吧,在sqlite的官方...
工欲善其事,必先利其器。学好sqlite的命令行工具,对于我们学习sqlite本身而言是非常非常有帮助的。最基本的一条就是,它让我们学习sqlite的过程更加轻松愉快。言归正传吧,在sqlite的官方下载网站,提供了支持多个平台的命令行工具,使用该工具我们可以完成大多数常用的sqlite操作,就像sqlplus之于oracle。以下列表给出了该工具的内置命令:
命令名 | 命令说明 |
.help | 列出所有内置命令。 |
.backup dbname file | 备份指定的数据库到指定的文件,缺省为当前连接的main数据库。 |
.databases | 列出当前连接中所有attached数据库名和文件名。 |
.dump tablename ... | 以sql文本的格式dump当前连接的main数据库,如果指定了表名,则只是dump和表名匹配的数据表。参数tablename支持like表达式支持的通配符。 |
.echo on|off | 打开或关闭显示输出。 |
.exit | 退出当前程序。 |
.explain on|off | 打开或关闭当前连接的select输出到human readable形式。 |
.header(s) on|off | 在显示select结果时,是否显示列的标题。 |
.import file table | 导入指定文件的数据到指定表。 |
.indices tablename | 显示所有索引的名字,如果指定表名,则仅仅显示匹配该表名的数据表的索引,参数tablename支持like表达式支持的通配符。 |
.log file|off | 打开或关闭日志功能,file可以为标准输出stdout,或标准错误输出stderr。 |
.mode mode tablename | 设置输出模式,这里最为常用的模式是column模式,使select输出列左对齐显示。 |
.nullvalue string | 使用指定的字符串代替null值的显示。 |
.output filename | 将当前命令的所有输出重定向到指定的文件。 |
.output stdout | 将当前命令的所有输出重定向到标准输出(屏幕)。 |
.quit | 退出当前程序。 |
.read filename | 执行指定文件内的sql语句。 |
.restore dbname file | 从指定的文件还原数据库,缺省为main数据库,此时也可以指定其它数据库名,被指定的数据库成为当前连接的attached数据库。 |
.schema tablename | 显示数据表的创建语句,如果指定表名,则仅仅显示匹配该表名的数据表创建语句,参数tablename支持like表达式支持的通配符。 |
.separator string | 改变输出模式和.import的字段间分隔符。 |
.show | 显示各种设置的当前值。 |
.tables tablename | 列出当前连接中main数据库的所有表名,如果指定表名,则仅仅显示匹配该表名的数据表名称,参数tablename支持like表达式支持的通配符。 |
.width num1 num2 ... | 在mode为column时,设置各个字段的宽度,注意:该命令的参数顺序表示字段输出的顺序。 |
见如下常用示例:
1). 备份和还原数据库。
复制代码 代码如下:
--在当前连接的main数据库中创建一个数据表,之后再通过.backup命令将main数据库备份到d:/mydb.db文件中。
sqlite> create table mytable (first_col integer);
sqlite> .backup 'd:/mydb.db'
sqlite> .exit
--通过在命令行窗口下执行sqlite3.exe以重新建立和sqlite的连接。
--从备份文件d:/mydb.db中恢复数据到当前连接的main数据库中,再通过.tables命令可以看到mytable表。
sqlite> .restore 'd:/mydb.db'
sqlite> .tables
mytable
2). dump数据表的创建语句到指定文件。
复制代码 代码如下:
--先将命令行当前的输出重定向到d:/myoutput.txt,之后在将之前创建的mytable表的声明语句输出到该文件。
sqlite> .output d:/myoutput.txt
sqlite> .dump mytabl%
sqlite> .exit
--在dos环境下用记事本打开目标文件。
d:\>notepad myoutput.txt
3). 显示当前连接的所有attached数据库和main数据库。
复制代码 代码如下:
sqlite> attach database 'd:/mydb.db' as mydb;
sqlite> .databases
seq name file
--- --------------- ------------------------
0 main
2 mydb d:\mydb.db
4). 显示main数据库中的所有数据表。
复制代码 代码如下:
sqlite> .tables
mytable
5). 显示匹配表名mytabl%的数据表的所有索引。
复制代码 代码如下:
sqlite> create index myindex on mytable(first_col);
sqlite> .indices mytabl%
myindex
6). 显示匹配表名mytable%的数据表的schema信息。
复制代码 代码如下:
--依赖该表的索引信息也被输出。
sqlite> .schema mytabl%
create table mytable (first_col integer);
create index myindex on mytable(first_col);
7). 格式化显示select的输出信息。
复制代码 代码如下:
--插入测试数据
sqlite> insert into mytable values(1);
sqlite> insert into mytable values(2);
sqlite> insert into mytable values(3);
--请注意没有任何设置时select结果集的输出格式。
sqlite> select * from mytable;
1
2
3
--显示select结果集的列名。
--以列的形式显示各个字段。
--将其后输出的第一列显示宽度设置为10.
sqlite> .header on
sqlite> .mode column
sqlite> .width 10
sqlite> select * from mytable;
first_col
----------
1
2
3
上一篇: SQLite中重置自动编号列的方法
下一篇: SQLite教程(九):在线备份
推荐阅读
-
详细讲解使用Node.js写一个简单的命令行工具(详细教程)
-
PHP 八个时间函数介绍_PHP教程
-
Comodo Backup免费专业数据备份工具使用教程图文详细介绍
-
使用node打造自己的命令行工具方法教程
-
Sqlite3 数据库工具修改游戏数据库文件图文教程
-
Illustrator(AI)使用混合工具模仿制作祥云效果的图案实例教程介绍
-
Linux的命令行下抓包工具tcpdump的使用图文介绍
-
Comodo Backup免费专业数据备份工具使用教程图文详细介绍
-
Windows2008安装组件命令行工具ServerManagerCmd用法介绍
-
使用Python编写类UNIX系统的命令行工具的教程