数据存储之SQLite
0、相关视频
1、相关文章
Android入门——数据存储之SQLite详解与简单应用(阅读量1.7k,2赞)
Android入门——数据存储之SQLite存储读取图片(阅读量1.3w,4赞)
2、什么是SQLite
SQLite是一个开源的、小型的、可嵌入的关系型数据库。系统开销小、检索效率高,所以被广泛应用。
- 可嵌入:不需要独立运行,不需要要有专门的数据库引擎
- 程序驱动:直接由程序调用相应的API就可以进行存取操作(体积小,性能也不错),而市面上的其他产品,例如SQL Server、MyQql、Db2、Oracle都是引擎响应式的数据库。
- 无数据类型:在生成数据库的时候,我们需要声明每个字段的数据类型,而SQLite是不对数据类型做任何检查的,所以就需要我们自己做程序控制,确保存取的数据类型是一致的。
- 支持事务操作:保证数据的完整性,提高运行速度,可以多条语句一起提交
- 其他特点,例如:独立的跨平台的磁盘文件、代码量小、API简单易用
2.1、SQLite支持的数据类型
Integer、varchar(10)[字符串]、float、double、char(10)、text
2.2、sql语句
2.2.1、创建表
create table 表名(字段名称 数据类型 约束,字段名称 数据类型 约束,。。。。。)
例如:create table person(_id Integer primary key,name varchar(10),age Integer not null)
2.2.2、删除表
drop person
2.2.3、插入数据
insert into 表名【字段,字段】 values(值1,值2,。。。。)
例如:
insert into person(_id,age) values(1,20)
insert into person values(2,"张三",23)
2.2.4、修改数据
update 表名 set 字段=新值 where 修改的条件
例如:update person set name="李四" where _id=1 (把_id为1的名字改为李四)
update person set name="李四"(把表中所有名字都改为李四)
update person person set name="李四",age=25 where _id=1
2.2.5、删除数据
delete from 表名 where 删除的条件
例如:delete from person where _id=2
2.2.6、查询语句
select 字段名 from 表名 where 查询条件 group by 分组的字段 having 筛选条件 order by 排序字段
例如:select * from person (查询person表中的所有数据)
select _id,name from person (查询person字段名为_id和name的数据)
select * from person where _id=1 (查询person表中_id=1的数据)
select * from person where _id<>1 (查询person表中_id不=1的数据)
select * from person where _id=1 and age>18 (查询person表中_id=1且age>18的数据)
select * from person where name like"%小%" (like是模糊查询的意思,查询person表中 中间含有字符"小"的数据,注意:小的前后都要有数据,可以是任意数据)
select * from person where name like"_小%" (一个字符后有"小","小"后可以有任意多的数据)
select * from person where name is null (查询person表中name为null 的数据)
select * from person where age between 10 an 20 (查询person表中age为10和20之间 的数据)
select * from person where age>18 order by _id (查询person表中age大于18的数据,并根据_id进行排序)
3、SQLite数据库的创建