sqlite介绍:
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。
数据库只有一个单一文件,数据库中的所有信息(表、视图等)都包含在一个文件中,这个文件可以自由复制到其他盘或者目录里面。支持数据库文件最大达到2TB。
如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。
2、android开发工程师为什么学习sqlite?
现在的主流移动设备像Android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上的SQLite开发技巧。对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取。
3、下载与安装:
下载地址: http://www.sqlite.org/download.html
安装:无需安装,只需要在电脑中配置路径即可。
配置路径:我的电脑,右键-属性,高级配置,找到path,将sqlite3.exe所在目录配置到path中即可。
cmd 调出命令提示符,输入sqlite3 回车,出现sqlite相关版本信息即可视为配置成功。
ps:配置的目的是在下面的操作中,电脑可以识别sqlite的命令,而不是必须这么配置。如果不配置,可以直接在sqlite3.exe中开始执行命令操作即可。
4、常用命令
.exit .quit 退出命令
.database 展示数据库文件
.tables 展示数据库表
.help 展示sqlite数据库中的常见命令
.show 来查看 SQLite 命令提示符的默认设置
ps:确保 sqlite> 提示符与点命令之间没有空格,否则将无法正常工作。
5、创建数据库
sqlite3 DatabaseName.db 默认文件存放路径:C:\Users\Administrator
一定要在命令提示符这个命令下操作,不能在sqlite3这个命令下操作。
6、sqlite数据类型
SQLite 数据类型是一个用来指定任何对象的数据类型的属性。
INTEGER 存放带符号整形数值
REAL 存放浮点型数值,
TEXT存放文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储
Blob存放二进制数值,例如:歌曲、视频、图片等。
7、创建表
SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
创建一个表时,是需要指定主键的,主键是能确定一条记录的唯一标识,一般将这个字段设置为id。
表创建成功后,可通过.tables 查看表是否存在。
删除表 DROP TABLE database_name.table_name;
8、查看表结构
.schema 表名
9、插入数据
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);
如果需要所有字段都插入的话,可以省略(column1, column2, column3,...columnN) ,变为:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
注意:插入时一定要注意值的顺序与列在表中的顺序一致。
10、查询数据
SELECT column1, column2, columnN FROM table_name;
如果需要将所有的列全部查出来,可以使用SELECT * FROM table_name;
.header(s) ON|OFF 开启或关闭头部显示。
.mode column 左对齐的列
这两个命令以后,再次查询,展示效果更加清晰明白。
连接数据库前端GUI工具推荐:Navicat for SQLite ,绿色中文破解版见文件夹
11、SQLite 运算符是什么?
运算符是一个保留字或字符,主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较和算术运算。
运算符用于指定 SQLite 语句中的条件,并在语句中连接多个条件。
SQLite运算符有:算术运算符、比较运算符、逻辑运算符、位运算符。
具体用法在后面的SQL语句中体会。
12、sqlite_master 表格
主表中保存数据库表的关键信息,并把它命名为 sqlite_master,是SQLite的一个内置的表。
13、WHERE子句
SQLite 的带有 WHERE 子句的 SELECT 语句的基本语法如下:
SELECT column1, column2, columnN
FROM table_name WHERE [condition]
您还可以使用比较或逻辑运算符指定条件,比如 >、<、=、LIKE、NOT,等等。
14、修改数据
带有 WHERE 子句的 UPDATE 查询的基本语法如下:
UPDATE table_name SET column1 = value1, column2 = value2....,columnN = valueN WHERE [condition];
您可以使用 AND 或 OR 运算符来结合 N 个数量的条件。
15、删除数据
SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。
带有 WHERE 子句的 DELETE 查询的基本语法如下:
DELETE FROM table_name WHERE [condition];
16、SQLite Like 子句
SQLite 的 LIKE 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1。 这里有两个通配符与 LIKE 运算符一起使用:
百分号 (%) 下划线 (_)
百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。
17、SQLite Limit 子句
SQLite 的 LIMIT 子句用于限制由 SELECT 语句返回的数据数量。
带有 LIMIT 子句的 SELECT 语句的基本语法如下:
SELECT column1, column2, columnN FROM table_name LIMIT [no of rows]
下面是 LIMIT 子句与 OFFSET 子句一起使用时的语法:
SELECT column1, column2, columnN FROM table_name LIMIT [no of rows] OFFSET [row num]
SQLite 引擎将返回从下一行开始直到给定的 OFFSET 为止的所有行。
18、Order By子句
SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。
ORDER BY 子句的基本语法如下:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
您可以在 ORDER BY 子句中使用多个列。确保您使用的排序列在列清单中。
PS:ASC代表由小到大升序排列,这个是order by的默认排序,desc是降序排列。order by后如果跟多个列明,是先按照第一个列进行排序,如果出现第一列是相同的,按照第二个
19、SQLite Group By
SQLite 的 GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。
在 SELECT 语句中,GROUP BY 子句放在 WHERE 子句之后,放在 ORDER BY 子句之前。
下面给出了 GROUP BY 子句的基本语法。GROUP BY 子句必须放在 WHERE 子句中的条件之后,必须放在 ORDER BY 子句之前。
SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
20、SQLite Having 子句
HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。
WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件。
下面是 HAVING 子句在 SELECT 查询中的位置:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
在一个查询中,HAVING 子句必须放在 GROUP BY 子句之后,必须放在 ORDER BY 子句之前。
下面是包含 HAVING 子句的 SELECT 语句的语法:
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
21、SQLite Distinct 关键字
SQLite 的 DISTINCT 关键字与 SELECT 语句一起使用,来消除所有重复的记录,并只获取唯一一次记录。
有可能出现一种情况,在一个表中有多个重复的记录。当提取这样的记录时,DISTINCT 关键字就显得特别有意义,它只获取唯一一次记录,而不是获取重复记录。
用于消除重复记录的 DISTINCT 关键字的基本语法如下:
SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]
22、学习资料推荐: http://www.runoob.com/sqlite/