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. 验证一下是否安装成功。

SQLITE3_第1张图片





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



首先来看一下sqlite的帮助:

win + r输入cmd,进入命令行,并输入sqlite3,进入sqlite的命令行管理工具。

然后输入.help,则可以看到sqlite3的管理工具的所有用法了:

SQLITE3_第2张图片



为了照顾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中的命令)

SQLITE3_第3张图片



接下来从上到下介绍所有命令的使用:

.backup ?DB? FILE

将数据库文件备份到指定的文件中,默认(在不指定数据库名时)会备份main数据库)

SQLITE3_第4张图片

备份生成的文件打开后

SQLITE3_第5张图片





.bail ON|OFF

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





.databases

列出(当前数据库文件中)附加的所有数据库的名字和文件

SQLITE3_第6张图片





.dump ?TABLE1? ?TABLE2? ...

将数据库打印为sql文本格式。如果?TABLE1?指定了,就只打印出名字中包含了TABLE1的数据表。

SQLITE3_第7张图片





.echo ON|OFF

在显示的结果前是否显示输入的命令

注意:这个是以column模式显示了,后面会讲到如何将显示方式设置为column

SQLITE3_第8张图片





.exit

不解释,退出程序





.explain ?ON|OFF?

开启或关闭适合于的输出模式。不指定ON或OFF时,默认为ON。

SQLITE3_第9张图片





.genfkey ?OPTIONS?

OPTIONS有如下几个值:

--no-drop:不删除旧的外键触发器

--ignore-error:忽略表的外键错误

--exec:立即执行生成的sql语句

这个应该是设置在违反外键约束时,sqlite如何做。具体的没尝试。





.headers ON|OFF

是否显示表头

.mode MODE ?TABLE?

设置输出模式,当?TABLE?指定时,就是该输出模式只应该在该表的输出上



.header on时的各输出模式

SQLITE3_第10张图片



.header off时的各输出模式

SQLITE3_第11张图片





.help

显示帮助





.import FILE TABLE

读取文件中的数据插入到指定表中

注意这里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默认的是,(此时就是2,yuan2,2)

SQLITE3_第12张图片



SQLITE3_第13张图片





indices ?TABLE?

显示指定表的所有索引。表没指定时,显示所有索引。

SQLITE3_第14张图片





.load FILE ?ENTRY?

加载一个外部库文件





.log FILE|off

开启或关闭日志功能。

关闭:.log off

开启,并将日志输出到标准输出流:.log stdout

开启,并将日志输出到标准错误六:.log stderr

开启,并将日志输出到指定文件:.log d:/sqlite3/log.txt





nullvalue STRING

值为NULL时,显示的字符串。默认为""

SQLITE3_第15张图片





.output FILENAME

将所有的输出都输出到指定文件

SQLITE3_第16张图片





.output stdout

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





.prompt MAIN CONTINUE

替换标准的提示。未尝试





.quit

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





.read FILENAME

执行指定文件中的sql语句

SQLITE3_第17张图片

SQLITE3_第18张图片





.restore ?DB? FILE

从备份文件中还原数据库。默认是还原main数据库。



1. 首先我们先备份的main数据库

2. 然后将数据删除

3. 然后在还原main数据库,看数据是否还原成功

SQLITE3_第19张图片





.schema ?TABLE?

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



因为之前创建了索引,所以包含索引创建语句。







.separator STRING

设置输出模式.mode和导入数据.import的分隔符。

SQLITE3_第20张图片





.show

显示当前的设置。

SQLITE3_第21张图片





.tables ?TABLE?

列出所有表名。





.timeout MS

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





.width NUM1 NUM2 ...

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



第一列设为1个字符,第二列设为0表示保持不变,第三类不设置也是保持不变

SQLITE3_第22张图片





.timer ON|OFF

是否开启cpu耗时度量。

SQLITE3_第23张图片





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

你可能感兴趣的:(sqlite3)