SQLite入门(一)

来源:互联网 发布:csgo怎么看竞技数据 编辑:程序博客网 时间:2024/05/21 22:31

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加入如图内容:
这里写图片描述这里写图片描述

这里写图片描述