SQLite入门(一)

SQLite概念:
【SQLite入门(一)】1.它是一种嵌入式数据库,嵌入式数据库时内嵌在程序中,是程序的一个组成部分。
2.与程序一起编译,不需要独立维护,简约而不简单。
3.Html5、Android、IOS都内嵌支持SQLite.
数据的存储方案:
1.数据可以存储在程序之外如(mysql、oracle)
2.数据存储在程序内部(嵌入到程序中的数据),目前比较流行的是:properties、XML、SQLite
SQLite的优点:
1.在读取数据的时候可以减少网络访问的消耗,简化数据库的管理,程序的部署也比较容易。
2.简单,访问速度快(最好不要把它看做一个数据库,而是一个文件系统)
3.支持常见的SQL语法,包括常见数据库功能:事务、索引、视图、触发器的部分功能。
4.平台广泛性,Unix、linux、MAC、window…系统上运行。
SQLite数据类型
1.SQLite可以给每个字段定义类型,但是也可以不制定,如果字段没有类型则和javascript一样字段属于动态类型。
2.常见的SQLite数据类型:
Integer:有符号的整数类型
Real:浮点型
Text:字符串(编码取决于DB的编码)
BLOB:存储图片、等二进制信息.
Boolean 数据类型:sqlite默认没有boolean类型,逻辑值为0则代表false,1代表为true
日期与时间类型:没有指定的日期和时间类型,则使用text类型。
辅助工具:SQLite Expert personal
/如果存在表,则先删除表/
drop table if exists person;
/创建表结构/
create table if not exists person(
_id integer primary key autoincrement,
name text,
salary real
);
/查询表机构,sqlite_master此系统表,用来存储视图、索引、表等信息/
select * from sqlite_master where type =’table’;
/查询表数据/
select * from person;
/增加数据:测试数据类型的自动转化过程/
insert into person(name,salary)
values(‘小强’,6000.00),(‘小名’,NULL)
/模糊查询/
select * from person where name like ‘%%’ and salary > 4000 order by salary asc limit 0,3;
/了解常见的聚合函数/
select min(salary) ‘最低工资’,
max(salary) ‘最高工资’,
avg(salary) ‘平均工资’,
count(*) ‘总人数’
from person
/查询出来工资相同人的信息 sql语句先分组,在聚合/
select * from person where salary =(
select salary from person group by salary having count(*)>1 );
/*
关于sqlite数据类型的处理
1.在默认转换不成功,也不会抛出异常(只有sql语法错才会抛出异常),数据的合法性应该交给程序解决
2.如果表中的字段不制定类型,那么就是动态类型,按照存储的数据为主(提醒灵活)
*/
/sqlite的视图创建:视图就是一张虚表,可能是多张表的部分列集合/
drop view if exists st;
create view st as select _id,name from person;
select * from st;
SQLite测试环境搭建
1.按功能分区:黑盒(测试功能是否满足要求,如果满足则ok,不需要考虑性能)白盒(测试代码性能)
2.按照粒度区分:单元测试、模块测试、集成测试、系统测试
android测试:
在AndroidManifest.xml加入如图内容:
SQLite入门(一)
文章图片
SQLite入门(一)
文章图片

SQLite入门(一)
文章图片

    推荐阅读