sqlite3使用入门

[b]sqlite的安装[/b]
1. 首先是下载sqlite,可以该页面下载:[url]http://www.sqlite.org/download.html[/url]
当前的最新版本为: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. 验证一下是否安装成功。
[img]http://dl.iteye.com/upload/attachment/516413/9649cbb8-5353-31be-a7b7-c90b512faea7.png[/img]


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

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

为了照顾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中的命令)
[img]http://dl.iteye.com/upload/attachment/516420/8f2b2092-bb9b-3d81-90c3-c33c0ed46526.png[/img]

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


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


[color=red].databases[/color]
列出(当前数据库文件中)附加的所有数据库的名字和文件
[img]http://dl.iteye.com/upload/attachment/516429/af5d74b1-82bd-3be2-80a2-8829338e1a40.png[/img]


[color=red].dump ?TABLE1? ?TABLE2? ...[/color]
将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。
[img]http://dl.iteye.com/upload/attachment/516435/6d5a9b40-80c3-38bc-9083-341557b102be.png[/img]


[color=red].echo ON|OFF[/color]
在显示的结果前是否显示输入的命令
注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column
[img]http://dl.iteye.com/upload/attachment/516437/0ec2d2b0-67f9-38ff-bcd2-ee9155352568.png[/img]


[color=red].exit[/color]
不解释,退出程序


[color=red].explain ?ON|OFF?[/color]
开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。
[img]http://dl.iteye.com/upload/attachment/516446/0cbde35f-fc76-3727-9930-cc176bd356da.png[/img]


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


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

.header on时的各输出模式
[img]http://dl.iteye.com/upload/attachment/516529/58f617b0-ddab-32b3-8e20-cb3c7dbd71f1.png[/img]

.header off时的各输出模式
[img]http://dl.iteye.com/upload/attachment/516531/1612c631-3467-3efa-b1f3-58f001a65b26.png[/img]


[color=red].help[/color]
显示帮助


[color=red].import FILE TABLE[/color]
读取文件中的数据插入到指定表中
注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2)
[img]http://dl.iteye.com/upload/attachment/516544/47472905-0a6e-3783-9a1a-e909434e26cc.png[/img]

[img]http://dl.iteye.com/upload/attachment/516546/42255104-8c13-377d-84de-d2b6412a11f7.png[/img]


[color=red]indices ?TABLE?[/color]
显示指定表的所有索引。表没指定时,显示所有索引。
[img]http://dl.iteye.com/upload/attachment/516548/4c2f1922-875f-3728-b508-6ff8f72d527a.png[/img]


[color=red].load FILE ?ENTRY?[/color]
加载一个外部库文件


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


[color=red]nullvalue STRING[/color]
值为NULL时,显示的字符串。默认为""
[img]http://dl.iteye.com/upload/attachment/516552/8fd78bd2-bd5d-3a59-a7fa-b3d776f3c26d.png[/img]


[color=red].output FILENAME[/color]
将所有的输出都输出到指定文件
[img]http://dl.iteye.com/upload/attachment/516554/f99bc7fc-bd06-32cf-894f-efa77cae0c2b.png[/img]


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


[color=red].prompt MAIN CONTINUE[/color]
替换标准的提示。未尝试


[color=red].quit[/color]
不解释,同.exit,退出程序。


[color=red].read FILENAME[/color]
执行指定文件中的sql语句
[img]http://dl.iteye.com/upload/attachment/516558/eb912210-6c2c-3d1f-a931-c0957cfe7203.png[/img]
[img]http://dl.iteye.com/upload/attachment/516556/2b5cd972-d465-36b7-a4e5-8a973bd14b53.png[/img]


[color=red].restore ?DB? FILE[/color]
从备份文件中还原数据库。默认是还原main数据库。

1. 首先我们先备份的main数据库
2. 然后将数据删除
3. 然后在还原main数据库,看数据是否还原成功
[img]http://dl.iteye.com/upload/attachment/516560/c9da9472-8634-3fbe-aa9d-996d8df32afa.png[/img]


[color=red].schema ?TABLE?[/color]
显示指定表的创建语句。表未指定时,显示所有表的创建语句。

因为之前创建了索引,所以包含索引创建语句。
[img]http://dl.iteye.com/upload/attachment/516562/db923096-fd76-32db-9a39-f3d7bf703a09.png[/img]


[color=red].separator STRING[/color]
设置输出模式.mode和导入数据.import的分隔符。
[img]http://dl.iteye.com/upload/attachment/516564/9a7e8add-2dba-39f3-96b4-efd751b2885a.png[/img]


[color=red].show[/color]
显示当前的设置。
[img]http://dl.iteye.com/upload/attachment/516566/91858706-c894-365a-b1ee-a6754efb1f16.png[/img]


[color=red].tables ?TABLE?[/color]
列出所有表名。


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


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

第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变
[img]http://dl.iteye.com/upload/attachment/516569/3bc25aa6-c209-3ad7-bc97-2cf0066ea7b6.png[/img]


[color=red].timer ON|OFF[/color]
是否开启cpu耗时度量。
[img]http://dl.iteye.com/upload/attachment/516571/0c708e1d-b4dd-3bf6-8f27-1de8d57b264f.png[/img]


sqlite支持的数据类型和日期函数:[url]http://blog.csdn.net/fer_ba/article/details/4582205[/url]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值