#SQLite可视化管理工具(SQLite Expert Pro)前端
1. 遵照ACID(原子性、一致性、隔离性和持久性)的关系型数据库管理系统;
2. 不是一个C/S结构的数据库引擎,而是被集成在用户程序中;不是一个应用程序与之通讯的进程;
3. 是一种嵌入式数据库,它的数据库就是一个文件。
4. Android、iOS等移动操做系统中的数据库实现就使用的SQLite3;它可以支持Windows/Linux/Unix等等主流的操做系统,同时可以跟不少程序语言相结合,好比 Tcl、C#、PHP、Java等,还有ODBC接口;
5. 比目前流行的大多数数据库对数据的操做要快;
6. SQLite3支持数据库大小至2TB,包含在一个C程序库中大小250KB;sql
7. 零装配,无需安装和配置;数据库
简单来讲两部分——前端解析系统--后端引擎后端
SQLite的表和索引用B/B+树来组织安全
1. 建立表多线程
create table 表名 (字段1 数据类型约束1, ... , 字段n 数据类型约束n )函数
create table students ( id integer primary key autoincrement, name vachar(20) check (length(name) > 3), tel_no vachar(11) not null, cls_id integer not noll, unique (name, tel_no), FOREIGN KEY(cls_id) REFERENCES classes(id) );
SQLite数据类型工具
声明类型 | 亲缘类型 | 应用规则 |
INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8 |
INTEGER | 1 |
CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB |
TEXT | 2 |
BLOB | NONE | 3 |
REAL DOUBLE DOUBLE PRECISION FLOAT |
REAL | 4 |
NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME |
NUMERIC | 5 |
主键约束:操作系统
SQLite表中含有一个内置主键row_id线程
外键约束:
外键可以确保表中的关键值必须从另外一个表中引用,且该数据必须在另外一个表中存在,不然会操做失败或引起其余的连锁反应。
2. 插入数据
insert into 表名 (字段列表) values (与字段列表中对应的字段值)
举例,
insert into classes values(1, 'software', 2010);
批量插入
insert into stu select * from students;
3. select语句——使用数据库
3部分组成:基本操做,附加操做,扩展操做
select [distinct] columns from tables where predictate group by columes having predicate order by columns limit count, offset;
4. update语句——更新表中数据
update table set update_list where predicate;
5. delete语句——删除数据
delete from table where predicate
6. 修改表
alter table tableName { rename to newName | add column 新的字段}
基本操做:增、删、查、改
insert,delete, query, update
Cursor
当执行查询语句时,返回的数据类型为Curor。它是一个提供了随机读写访问数据库查询结果集的接口,Cursor并非线程安全的,所以,当在多线程中访问Cursor对象时要手动进行同步,避免出现线程安全问题。
Cursor中定义了一个光标位置,该光标默认指向第一个数据。
用户能够经过moveToNext函数不断地移动光标获取下一个函数,不断地重复这个过程就能够获取到全部数据。