工欲善其事,必先利其器。学好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
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 杨烁《杨烁唱唐诗》2024Hi-Res[WAV分轨]
- 杨烁《杨烁唱唐诗》2024Hi-Res[WAV分轨]
- 童丽《民歌童丽(HQCD)》【WAV+CUE】
- 童丽《绝对收藏》2022头版限量编号[WAV+CUE][1G]
- 腾格尔《出走天堂》MQA-UHQCD限量版[低速原抓WAV+CUE][1G]
- 田震《时光音乐会》纯银CD[低速原抓WAV+CUE][1G]
- 炉石传说11月初最强登顶卡组合集 炉石传说11月初登顶卡组分享
- lol炼金龙魂详细属性是什么 2024炼金龙魂详细属性介绍
- 英雄联盟六个龙魂是哪六个 英雄联盟六个龙魂介绍一览
- 《忆蚀》Subliminal:揭秘后室之谜,路知行献声Weplay文化展
- 初始之部制作人气漫画改编游戏《我家大师兄脑子有坑》参展2024WePlay
- 《异环》「奇点测试」定档11.28 超自然都市轻喜剧即将放送!
- 16层乐队.2024-大快朵颐【摩登天空】【FLAC分轨】
- 群星.1988-电视金曲巡礼【EMI百代】【WAV+CUE】
- 群星.1992-电视金曲巡礼VOL.2【EMI百代】【WAV+CUE】