• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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数据库里插入数据的条数上限是500
    • SQLite教程(十二):锁和并发控制详解
    • SQLite教程(十四):C语言编程实例代码(2)
    • python查询sqlite数据表的方法
    • SQLite之Autoincrement关键字(自动递增)
    上一篇:SQLite教程(六):表达式详解
    下一篇:SQLite教程(九):在线备份
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQLite教程(八):命令行工具介绍 SQLite,教程,八,命令行,工具,