工欲善其事,必先利其器。学好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学习手册(命令行工具)相关推荐

  1. SQLite学习手册(目录)

    在实际的应用中,SQLite作为目前最为流行的开源嵌入式关系型数据库,在系统的架构设计中正在扮演着越来越为重要的角色.和很多其它嵌入式NoSQL数据库不同的是,SQLite支持很多关系型数据库的基本特 ...

  2. 学习Stephen Liu的《SQLite学习手册(数据表和视图)》(一)

    好好学习,day day up.不能再玩了,学习要紧 以下内容主要基于对于Stephen Liu的博文SQLite学习手册(数据表和视图)的学习. 零.准备工作 先把sqlite3.exe的路径添加到 ...

  3. SQLite学习手册(数据表和视图)

    一.创建数据表: 该命令的语法规则和使用方式与大多数关系型数据库基本相同,因此我们还是以示例的方式来演示SQLite中创建表的各种规则.但是对于一些SQLite特有的规则,我们会给予额外的说明.注:以 ...

  4. ROS入门之使用命令行工具控制小海龟移动

    前面的文章主要是说明一下ROS入门需要了解的基本概念,这篇文章则是要说明一下如何使用命令行工具. 2.1 命令行工具的使用 ROS有很多常用命令:rostopic.rosservice.rosnode ...

  5. Java虚拟机学习(8):查看JVM参数及值的命令行工具

    查看JVM各个参数值方式 1. HotSpot vm中的各个globals.hpp文件  查看jvm初始的默认值及参数 globals.hpp globals_extension.hpp c1_glo ...

  6. 【ROS入门学习01| ROS命令行工具的使用】

    ROS命令行工具的使用 -----------------可以配合古月居的ROS入门教程来学习实践. 文章目录 ROS命令行工具的使用 一.roscore 二.rosrun 三.rqt_graph 四 ...

  7. 《现代命令行工具指南》11. 帮助手册:只给你最有用的帮助信息 - tldr

    ​好工具就是生产力,这是专栏<现代命令行工具指南>精讲的第 11 个命令行工具,欢迎品鉴. 命令行工具太多了,我们不可能把所有命令的用法都记住,因此帮助手册(man)就成了我们经常查阅的东 ...

  8. FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe

    一.简述 ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具. 二.命令格式 在命令行中输入如下格式的命令: ffprobe [文件名] 三.使用ffprobe查看 ...

  9. kafka-consumer-groups.sh 命令行工具使用手册,附测试用例

    kafka-consumer-groups 命令行工具使用手册 该手册原文出自 $KAFKA_HOME\bin\windows\kafka-consumer-groups.bat --help 命令的 ...

最新文章

  1. NT式驱动和WDM式驱动程序
  2. python3精要(26)-map
  3. JSTL 核心标签库 使用(C标签)
  4. tomcat/redis/dubbo/netty
  5. 机器人matlab仿真步骤,MATLAB机器人仿真程序.doc
  6. 2022年深圳杯数学建模A题代码思路-- 破除“尖叫效应”与“回声室效应”,走出“信息茧房”
  7. 项目管理软件: 禅道、JIRA
  8. word如何只设置一张为横向_word页面设置 word怎么设置单独一页横向显示?
  9. 使用腾讯云轻量服务器搭建flarum论坛
  10. python内置数值运算函数有哪几个_Python这68个内置函数,建议你吃透!
  11. 如何做好App性能测试
  12. linux if 判断文件,shell中的逻辑判断,if 判断文件、目录属性,if判断的一些特殊用法...
  13. java开源即时通讯软件服务端openfire源码构建
  14. 【OpenHarmony】napi基础知识学习
  15. XStream 用法总结
  16. SBUS如何连接4G,如何通过数传DTU传输,实现远程控制
  17. JUST技术:JUST高效时空索引揭秘及使用指南
  18. 【LC3】无重复字符的最长子串
  19. 激光与普通光区别以及它的波段范围
  20. 2006世界杯32强人体彩绘队服样式(德国)

热门文章

  1. python中文件读取不出来_Python文件读取
  2. Git复习(五)之多人协作、git push失败、git pull失败
  3. 图的遍历[摘录自严长生老师的网站]
  4. Cisco端口限速配置
  5. 初接触php,遇到一个低级问题
  6. tomcat7.0配置CORS(跨域资源共享)
  7. Android如何获得手机power_profile.xml文件
  8. STL 去重 unique
  9. js入门·表单详解一(修改表单属性,修改表单元素值)
  10. 六、Springmvc json数据交互