sqlite的安装 
1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html 
当前的最新版本为:sqlite-shell-win32-x86-3070701.zip这个是windows下sqlite的命令行管理工具,用它可以管理sqlite数据库文件 

同时最好把文档也下载下来,里面包含了详细的sqlite的使用说明:sqlite-doc-3070701.zip 

2. sqlite无需任何配置和安装,只要将下载下来的shell文件解压到任何你觉得合适的地方,然后将其加入到path环境变量就可以了(加入path环境变量是为了直接在命令行使用sqlite3,不加的话需要详细的指定sqlite3的路径,如d:/sqlite/sqlite3)。 

3. 验证一下是否安装成功。 
9649cbb8-5353-31be-a7b7-c90b512faea7.png 


要想掌握一个软件的使用,最好的方式是使用软件自带的帮助和文档,而不是一直利用google。文档和帮助一般包含了该软件所有的用法,毕竟那是有软件的开发者所写的,他对软件是最了解的。 

首先来看一下sqlite的帮助: 
win + r输入cmd,进入命令行,并输入sqlite3,进入sqlite的命令行管理工具。 
然后输入.help,则可以看到sqlite3的管理工具的所有用法了: 
a9e47a48-aa21-31e8-be4d-fa988fd5c65a.png 

为了照顾e文不好的朋友,这里将所有的命令解释一遍,并给出相应的示例: 
首先创建一个数据库test.db,并在该数据库中创建一张表user 

1.因为之前进入了sqlite3了,先用.quit退出sqlite 
2.再用sqlite3 test.db加载或创建指定数据库 
3.然后用sql语句创建一个一张表user(关于sql语句,可以去看些sql入门的书籍,在sqlite文档中也有对应的sql的介绍,不过感觉那个不适合入门,因为毕竟很多数据库的基本知识里面都没有讲到)(同时还需要注意的是sqlite是可以不指定列的类型的,这也是sqlite的一个特色,它的列类型是动态的) 
4.然后又用到了一个显示当前数据库中存在的数据表的命令.tables(.help中倒数第三个) 
5.最后向数据表中插入了一条数据(sql语句,不是.help中的命令) 
8f2b2092-bb9b-3d81-90c3-c33c0ed46526.png 

接下来从上到下介绍所有命令的使用: 
.backup ?DB? FILE 
将数据库文件备份到指定的文件中,默认(在不指定数据库名时)会备份main数据库) 
d510e76b-0d3f-3e51-bf8b-6e1aab242b4b.png 
备份生成的文件打开后 
21642790-31b9-3c9f-864c-2e34794aeb9d.png


.bail ON|OFF 
设置在遇到错误时就停止sqlite工具的执行,默认时是OFF的。 


.databases 
列出(当前数据库文件中)附加的所有数据库的名字和文件 
af5d74b1-82bd-3be2-80a2-8829338e1a40.png 


.dump ?TABLE1? ?TABLE2? ... 
将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。 
6d5a9b40-80c3-38bc-9083-341557b102be.png 


.echo ON|OFF 
在显示的结果前是否显示输入的命令 
注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column 
0ec2d2b0-67f9-38ff-bcd2-ee9155352568.png 


.exit 
不解释,退出程序 


.explain ?ON|OFF? 
开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。 
0cbde35f-fc76-3727-9930-cc176bd356da.png 


.genfkey ?OPTIONS? 
OPTIONS有如下几个值: 
--no-drop:不删除旧的外键触发器 
--ignore-error:忽略表的外键错误 
--exec:立即执行生成的sql语句 
这个应该是设置在违反外键约束时,sqlite如何做。具体的没尝试。 


.headers ON|OFF 
是否显示表头 
.mode MODE ?TABLE? 
设置输出模式,当?TABLE?指定时,就是该输出模式只应该在该表的输出上 

.header on时的各输出模式 
58f617b0-ddab-32b3-8e20-cb3c7dbd71f1.png 

.header off时的各输出模式 
1612c631-3467-3efa-b1f3-58f001a65b26.png 


.help 
显示帮助 


.import FILE TABLE 
读取文件中的数据插入到指定表中 
注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2) 
47472905-0a6e-3783-9a1a-e909434e26cc.png 

42255104-8c13-377d-84de-d2b6412a11f7.png 


indices ?TABLE? 
显示指定表的所有索引。表没指定时,显示所有索引。 
4c2f1922-875f-3728-b508-6ff8f72d527a.png 


.load FILE ?ENTRY? 
加载一个外部库文件 


.log FILE|off 
开启或关闭日志功能。 
关闭:.log off 
开启,并将日志输出到标准输出流:.log stdout 
开启,并将日志输出到标准错误六:.log stderr 
开启,并将日志输出到指定文件:.log d:/sqlite3/log.txt 


nullvalue STRING 
值为NULL时,显示的字符串。默认为"" 
8fd78bd2-bd5d-3a59-a7fa-b3d776f3c26d.png 


.output FILENAME 
将所有的输出都输出到指定文件 
f99bc7fc-bd06-32cf-894f-efa77cae0c2b.png 


.output stdout 
将所有的输出都输出到标准输出流(默认就是),就是输出到控制台上 


.prompt MAIN CONTINUE 
替换标准的提示。未尝试 


.quit 
不解释,同.exit,退出程序。 


.read FILENAME 
执行指定文件中的sql语句 
eb912210-6c2c-3d1f-a931-c0957cfe7203.png 
2b5cd972-d465-36b7-a4e5-8a973bd14b53.png 


.restore ?DB? FILE 
从备份文件中还原数据库。默认是还原main数据库。 

1. 首先我们先备份的main数据库 
2. 然后将数据删除 
3. 然后在还原main数据库,看数据是否还原成功 
c9da9472-8634-3fbe-aa9d-996d8df32afa.png 


.schema ?TABLE? 
显示指定表的创建语句。表未指定时,显示所有表的创建语句。 

因为之前创建了索引,所以包含索引创建语句。 
db923096-fd76-32db-9a39-f3d7bf703a09.png 


.separator STRING 
设置输出模式.mode和导入数据.import的分隔符。 
9a7e8add-2dba-39f3-96b4-efd751b2885a.png 


.show 
显示当前的设置。 
91858706-c894-365a-b1ee-a6754efb1f16.png 


.tables ?TABLE? 
列出所有表名。 


.timeout MS 
只在指定的毫秒内尝试打开锁定的表,而不是一直尝试打开。 


.width NUM1 NUM2 ... 
设置.mode column中每个列的宽度。每个列默认的宽度是10个字符,过长时会被截断。 

第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变 
3bc25aa6-c209-3ad7-bc97-2cf0066ea7b6.png 


.timer ON|OFF 
是否开启cpu耗时度量。 
0c708e1d-b4dd-3bf6-8f27-1de8d57b264f.png 


sqlite支持的数据类型和日期函数:http://blog.csdn.net/fer_ba/article/details/4582205