sqlit3的使用
2015-07-29 22:21
330 查看
sqlite3使用入门
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. 验证一下是否安装成功。
![](http://dl.iteye.com/upload/attachment/516413/9649cbb8-5353-31be-a7b7-c90b512faea7.png)
要想掌握一个软件的使用,最好的方式是使用软件自带的帮助和文档,而不是一直利用google。文档和帮助一般包含了该软件所有的用法,毕竟那是有软件的开发者所写的,他对软件是最了解的。
首先来看一下sqlite的帮助:
win + r输入cmd,进入命令行,并输入sqlite3,进入sqlite的命令行管理工具。
然后输入.help,则可以看到sqlite3的管理工具的所有用法了:
![](http://dl.iteye.com/upload/attachment/516415/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中的命令)
![](http://dl.iteye.com/upload/attachment/516420/8f2b2092-bb9b-3d81-90c3-c33c0ed46526.png)
接下来从上到下介绍所有命令的使用:
.backup ?DB? FILE
将数据库文件备份到指定的文件中,默认(在不指定数据库名时)会备份main数据库)
![](http://dl.iteye.com/upload/attachment/516425/d510e76b-0d3f-3e51-bf8b-6e1aab242b4b.png)
备份生成的文件打开后
![](http://dl.iteye.com/upload/attachment/516427/21642790-31b9-3c9f-864c-2e34794aeb9d.png)
.bail ON|OFF
设置在遇到错误时就停止sqlite工具的执行,默认时是OFF的。
.databases
列出(当前数据库文件中)附加的所有数据库的名字和文件
![](http://dl.iteye.com/upload/attachment/516429/af5d74b1-82bd-3be2-80a2-8829338e1a40.png)
.dump ?TABLE1? ?TABLE2? ...
将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。
![](http://dl.iteye.com/upload/attachment/516435/6d5a9b40-80c3-38bc-9083-341557b102be.png)
.echo ON|OFF
在显示的结果前是否显示输入的命令
注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column
![](http://dl.iteye.com/upload/attachment/516437/0ec2d2b0-67f9-38ff-bcd2-ee9155352568.png)
.exit
不解释,退出程序
.explain ?ON|OFF?
开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。
![](http://dl.iteye.com/upload/attachment/516446/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时的各输出模式
![](http://dl.iteye.com/upload/attachment/516529/58f617b0-ddab-32b3-8e20-cb3c7dbd71f1.png)
.header off时的各输出模式
![](http://dl.iteye.com/upload/attachment/516531/1612c631-3467-3efa-b1f3-58f001a65b26.png)
.help
显示帮助
.import FILE TABLE
读取文件中的数据插入到指定表中
注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2)
![](http://dl.iteye.com/upload/attachment/516544/47472905-0a6e-3783-9a1a-e909434e26cc.png)
![](http://dl.iteye.com/upload/attachment/516546/42255104-8c13-377d-84de-d2b6412a11f7.png)
indices ?TABLE?
显示指定表的所有索引。表没指定时,显示所有索引。
![](http://dl.iteye.com/upload/attachment/516548/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时,显示的字符串。默认为""
![](http://dl.iteye.com/upload/attachment/516552/8fd78bd2-bd5d-3a59-a7fa-b3d776f3c26d.png)
.output FILENAME
将所有的输出都输出到指定文件
![](http://dl.iteye.com/upload/attachment/516554/f99bc7fc-bd06-32cf-894f-efa77cae0c2b.png)
.output stdout
将所有的输出都输出到标准输出流(默认就是),就是输出到控制台上
.prompt MAIN CONTINUE
替换标准的提示。未尝试
.quit
不解释,同.exit,退出程序。
.read FILENAME
执行指定文件中的sql语句
![](http://dl.iteye.com/upload/attachment/516558/eb912210-6c2c-3d1f-a931-c0957cfe7203.png)
![](http://dl.iteye.com/upload/attachment/516556/2b5cd972-d465-36b7-a4e5-8a973bd14b53.png)
.restore ?DB? FILE
从备份文件中还原数据库。默认是还原main数据库。
1. 首先我们先备份的main数据库
2. 然后将数据删除
3. 然后在还原main数据库,看数据是否还原成功
![](http://dl.iteye.com/upload/attachment/516560/c9da9472-8634-3fbe-aa9d-996d8df32afa.png)
.schema ?TABLE?
显示指定表的创建语句。表未指定时,显示所有表的创建语句。
因为之前创建了索引,所以包含索引创建语句。
![](http://dl.iteye.com/upload/attachment/516562/db923096-fd76-32db-9a39-f3d7bf703a09.png)
.separator STRING
设置输出模式.mode和导入数据.import的分隔符。
![](http://dl.iteye.com/upload/attachment/516564/9a7e8add-2dba-39f3-96b4-efd751b2885a.png)
.show
显示当前的设置。
![](http://dl.iteye.com/upload/attachment/516566/91858706-c894-365a-b1ee-a6754efb1f16.png)
.tables ?TABLE?
列出所有表名。
.timeout MS
只在指定的毫秒内尝试打开锁定的表,而不是一直尝试打开。
.width NUM1 NUM2 ...
设置.mode column中每个列的宽度。每个列默认的宽度是10个字符,过长时会被截断。
第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变
![](http://dl.iteye.com/upload/attachment/516569/3bc25aa6-c209-3ad7-bc97-2cf0066ea7b6.png)
.timer ON|OFF
是否开启cpu耗时度量。
![](http://dl.iteye.com/upload/attachment/516571/0c708e1d-b4dd-3bf6-8f27-1de8d57b264f.png)
sqlite支持的数据类型和日期函数:/article/2855573.html
相关文章推荐
- NoSQL架构实践(三)——以NoSQL为缓存
- NoSQL架构实践(二)——以NoSQL为主
- NoSQL架构实践(一)——以NoSQL为辅
- 关系数据库还是NoSQL数据库
- NoSQL开篇—为什么要使用NoSQL
- SQL SERVER中UPDLOCK ,READPAST使用
- MySQL的查询缓存
- 重写代码生成器支持模板(多层架构,MVC),多语言c#,java;支持mysql和sqlserver,动态编译
- SQL Server建库-建表-建约束
- redis命令,学习笔记
- SQL HAVING语句
- 68 sql 查找表中同一个字段出现的重复项次数 视图
- Mysql按字段分组取最大值记录
- MYSQL中的SELECT查询时进行运算
- ArcGIS with Oracle安装及直连
- SQL VIEW 使用语法
- 关于windows server 2008 连接oracle数据库响应极慢的问题
- 【JSP基础】Dreamwe记录集简单用法,简单的jsp直连数据库
- mysql常用命令
- Mysql或者Hive数据行变成列