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
 

时间: 2024-09-15 20:40:45

SQLite教程(八):命令行工具介绍_SQLite的相关文章

使用Python编写类UNIX系统的命令行工具的教程_python

引言 您是否能编写命令行工具?也许您可以,但您能编写出真正好用的命令行工具吗?本文讨论使用 Python 来创建一个强健的命令行工具,并带有内置的帮助菜单.错误处理和选项处理.由于一些奇怪的原因,很多人并不了解 Python? 的标准库具有制作功能极其强大的 *NIX 命令行工具所需的全部工具. 可以这样说,Python 是制作 *NIX 命令行工具的最佳语言,因为它依照"batteries-included"的哲学方式工作,并且强调提供可读性高的代码.但仅作为提醒,当您发现使用 Py

Android测试教程(17):Monkey 命令行工具

写完应用之后,作完单元测试和功能测试,有必要对应用的抗打击能力做个测试,最好的方法是雇个"猴子"在测试,猴子 可以胡乱瞎按键,在这种情况下,你的应用是否还能正常工作呢? Android 测试包中提供了一个Monkey工具,就提供了"猴 子"功能,不过比真"猴子"还要智能一些,你还可以指挥这个猴子, 比如按键的比例,触发某个事件的频率等等. 一 个简单的用法,比如你的应用程序的包名为:com.pstreets.navigator 可以使用  adb

Java核心技术卷I基础知识2.2 使用命令行工具

2.2 使用命令行工具 如果在此之前有过使用Microsoft Visual Studio等开发环境编程的经验,你可能会习惯于有一个内置文本编辑器.用于编译和启动程序的菜单以及调试工具的系统.JDK完全没有这些功能.所有工作都要在终端窗口中键入命令来完成.这听起来很麻烦,不过确实是一个基本技能.第一次安装Java时,你可能希望在安装开发环境之前先检查Java的安装是否正确.另外,通过自己执行基本步骤,你可以更好地理解开发环境的后台工作. 不过,掌握了编译和运行Java程序的基本步骤之后,你可能就

《Android/OPhone开发完全讲义》连载(4):Android SDK中常用命令行工具(二)

本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书<Android/OPhone 开发完全讲义>的内容连载.<Android/OPhone开发完全讲义>一书现已出版,敬请关注. 购 买:互动网(china- pub) <Android/OPhone开发完全讲义>目录 源代码下载 上一篇:Android SDK中常用命令行工具(一) 一. PC与模拟器或真机交换文件(adb pull和adb push) 在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真

Nmcli 网络管理命令行工具基础

介绍 在本教程中,我们会在CentOS / RHEL 7中讨论网络管理命令行工具NetworkManager command line tool,也叫nmcli.那些使用ifconfig的用户应该在CentOS 7中避免使用ifconfig 了. 让我们用nmcli工具配置一些网络设置. 要得到系统中所有接口的地址信息 [root@localhost ~]# ip addr show 示例输出: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noq

推荐给开发人员的实用命令行工具

作为一名Web开发者,当程序出现问题时日子总不是那么好过.问题可能无处不在,可能是你发送的请求出了错,可能是回复出了错,可能是你使用的某个第三方库出了问题,又或者是一个外部API调用失败了.优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工作更有效率.命令行工具尤其有用,因为它们非常易于做自动化和脚本处理,能够以各种不同的方式进行组合和重用.本文介绍了6个非常强大且灵活的工具,熟练使用这些工具能使你的生活变得更轻松一些. Curl Cu

BCB6命令行工具简介

BCB6有很多命令行工具. 下面简要的作一个介绍: BCC32.EXE C++32位编译程序 BPR2MAK.EXE 转换XML文件格式为MAKE文件格式 BRC32.EXE 32位资源编辑程序 BRCC32.EXE  32位资源外壳程序 CONVERT.EXE 转换.DFM文件为.TXT文件格式 CPP32.EXE C 32位预处理程序 DCC32.EXE 32位PASCAL语言编译程序 FCONVERT.EXE  OEM和ANSI格式之间文本转换 GREP.EXE  寻找文件实用程序 ILI

4个可以发送完整电子邮件的命令行工具

4个可以发送完整电子邮件的命令行工具 今天的文章里我们会讲到一些使用Linux命令行工具来发送带附件的电子邮件的方法.它有很多用处,比如在应用程序所在服务器上,使用电子邮件发送一个文件过来,或者你可以在脚本中使用这些命令来做一些自动化操作.在本文的例子中,我们会使用foo.tar.gz文件作为附件. 有不同的命令行工具可以发送邮件,这里我分享几个多数用户会使用的工具,如mailx.mutt和swaks. 我们即将呈现的这些工具都是非常有名的,并且存在于多数Linux发行版默认的软件仓库中,你可以

手把手教你利用命令行工具创建LinuxMac系统下的网站备份

创建网站备份应该是一个网站管理员最为重要的日常工作之一.但现实情况是,备份这一步往往被很多人忽略,也就是说仍然有很多网管的网站安全意识较低. 所有的Linux/Mac用户都能够零经济成本地通过命令行工具创建网站备份.如果你用的不是Linux/Mac,请关注我们的后续文章--如何在windows上通过软件方式创建备份. 本文的初衷不是为读者提供完整的备份解决方案,而是给那些有时间并且想要学习一些基础的命令行工具进行网站备份的宝宝们一点参考. 必要条件 你的主机必须具备必要的软件及证书. (1) 服