1. SQlite介绍
SQLite是一款开源,轻量级,嵌入式关系型数据库。是一个学习关系型数据库的很好的工具。SQLite除了作为一个存储容器外,还可以作为一个单纯的数据处理的工具。使用SQLite 可以很容易地将应用程序所使用的数据结构转化为表,并保存在一个内在数据库中。通过sql语句操作数据库中的数据,可以完成很繁重的任务而不必写自己的算法来对数据结构进行操作和排序
从哪得到SQLite
SQLite 网站(www.sqlite.org)同时提供SQLite 的已编译版本和源程序。用户可根据不同的操作系统平台Linux,Mac OS X,Windows,Windows Phone 8,Windows Runtime选择相应的SQLite已编译版本.比如windows平台下可下载sqlite-shell-win32-x86-3080100.zip SQLite 命令行程序(CLP)。SQLite无需安装配置。解压后,通过DOS shell进入工作目录,在命令行上键入sqlite3 命令即进入SQLite shell.然后就可以执行数据库创建,查询等命令了。
2. SQLite特殊命令
SQLite shell将用户输入的任何语句都看成是一个查询命令(query),除非命令是以点(.)开始,以点(.)开始的命令用于特殊操作。键入.help 或.h 可以得到这些命令的完整列表。键入.exit 或.e 退出SQLite shell。
1) 与查看数据库对象相关的命令
.tables ?TABLE? 列出所有的表名,如果指定TABLE只列出符合模式表达式的表的表名.
.indices ?TABLE? 列出所有的索引名.如果指定TABLE只列出符合模式表达式的表的索引.
.schema ?TABLE? 列出所有表的创建语句,如果指定TABLE只列出符合模式表达式的表的创建语句.
2) 与数据库备份相关的命令
.backup ?DB? FILE 以指定的文件名备份数据。如不指定db 则备份当前打开的数据库.
.dump ?TABLE? 以sql文本格式导出数据库所有的表,如果指定TABLE只导出符合模式表达式的表.
.read Filename 执行文件中的sql语句.
.import Filename tab 将文件中的数据导入到指定的表
3) 与格式控制相关命令
.show 显示当前各种设置的值
.echo ON|OFF 打开或关闭回显
.header ON|OFF 是否显示表头
.output Filaname 将输出重定向到指定的文件
.output stdout 将输出重定向的屏幕
.nullvalue string 当遇到NULL 值时,使用此处指定的字符串来替代
.prompt value 替换掉sqlite
shell 标准的提示符
.separaor string 改变由.mode和.import命令所使用的分隔符,.separator 指定的字符串只对.mode list有效
.width num1 num2 .. 设置列宽,当.mode 设置为column时.
.mode MODE 设置输出模式 ,MODE只能为下面的值。默认为list格式
csv comma-separated values 值之间用逗号作为分隔符
column 列左对齐
html
insert sql插入语句的格式
line 每个值一行的格式
list 以.separator
指定的字符串作为值之间的分隔符. (默认格式)
tabs 以tab作为分隔符
tcl
其它命令
.print string 原义打印字符串
3. SQL
1)SQL语言
sql(Structured Query Language)是一种数据库查询语言,是访问关系型数据库的唯一方法,通过sql语言来操作关系型数据库.
sql与SQLite关系:
如上所说sql是一种操作关系型数据库的语言,而SQLite则是众多关系型数据库中的一种,所以SQLite数据库也支持使用sql语言来控制数据库的增删改查等等.
2)sql语法
和C语言类似,sql语句必须以分号(;)结尾
A. 常量
常量也称字面值(literal),sql中常量分为字符串常量、数据常量和二进制常量.
字符串常量:和C语言不同的是,sql字符串常量为使用单引号扩起来的字符序列.比如‘Jerry‘.,如果字符串中本身包含单引号,需要双写。如“Kenny’s chicken”需要写成:‘Kenny‘‘s
chicken‘
数字常量有整数、十进制数和科学记数法表示的数,如:-1, 3.142, 6.0221415E23.
二进制值用如x‘0000‘的表示法,其中每个数据是一个16 进制数。二进制值必须由两个两个的16进制数(8 bits)组成, 如:x‘01‘, X‘0fff‘, x‘0F0EFF‘, X‘0f0effab‘.
关键字:和其它编程语言类似,具有特殊含义的单词称为关键字,比如select, create,insert,updata,drop等
标识符:数据库里的具体对象,如表名或索引名,字段名.
sql不区分大小写.
B. 注释
单行注释:以双减号开始(--).比如:
--创建test表
create table test (id integer primary key,name
text );
多行注释:多行注释采用C 风格的形式