SQLite3数据库
#SQLite可视化管理工具(SQLite Expert Pro)
SQLite特点:
1. 遵守ACID(原子性、一致性、隔离性和持久性)的关系型数据库管理系统;
2. 不是一个C/S结构的数据库引擎,而是被集成在用户程序中;不是一个应用程序与之通信的进程;
3. 是一种嵌入式数据库,它的数据库就是一个文件。
4. Android、iOS等移动操作系统中的数据库实现就使用的SQLite3;它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口;
5. 比目前流行的大多数数据库对数据的操作要快;
6. SQLite3支持数据库大小至2TB,包含在一个C程序库中大小250KB;
7. 零装配,无需安装和配置;
基本结构:
简单来说两部分——前端解析系统--后端引擎
SQLite的表和索引用B/B+树来组织
SQL语句
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 新的字段}
SQLite API
基本操作:增、删、查、改
insert,delete, query, update
Cursor
当执行查询语句时,返回的数据类型为Curor。它是一个提供了随机读写访问数据库查询结果集的接口,Cursor并不是线程安全的,因此,当在多线程中访问Cursor对象时要手动进行同步,避免出现线程安全问题。
Cursor中定义了一个光标位置,该光标默认指向第一个数据。
用户可以通过moveToNext函数不断地移动光标获取下一个函数,不断地重复这个过程就可以获取到所有数据。
SQLite3数据库的更多相关文章
- 安卓使用SQlite3数据库无法id主键无法自动增加?不是的。
安卓使用SQlite3数据库无法id主键无法自动增加?不是的. 要这样写:id integer primary key ,要写integer而不是int所以会报错! http://blog.csdn. ...
- 【转】去掉Sqlite3 数据库中的前后回车换行符(newline)
原文: http://www.blogjava.net/pts/archive/2013/06/10/400... 时间: 2013-06-10 转自:http://www.ityuedu.com/a ...
- 《全唐诗》的sqlite3数据库
下载地址: http://pan.baidu.com/s/1b2mE54quantangshi.db是sqlite3数据库,包括2张表.index表:volume 列(整数,主键) 表示卷号,从1到9 ...
- [Android]AndroidInject增加sqlite3数据库映射注解(ORM)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3623050.html AndroidInject项目是我写的一 ...
- Cocos2dx使用wxsqlite开源加密SQLite3数据库
最近使用wxsqlite加密sqlite3数据库,刚开始折腾好几天,在xcode上一直编译不通过,后来在sqlite3.c找到配置,编译顺利通过,太激动了,哈哈,废话少说!总结一下android和io ...
- 基于s5pv210嵌入式linux系统sqlite3数据库移植
基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf ...
- Cocos移植到Android的一些问题-SQLite3数据库移植问题
首选我们讨论一下SQLite3数据库移植问题.我们在第14章节介绍了在Win32平台使用SQLite3数据库,我们介绍了两种配置环境的方法:一种是使用Cocos2d-x提供的SQLite3库配置,另一 ...
- 在cmd窗口中查询android的sqlite3数据库表之步骤
本文主要是写了一个android程序对sqlite3中数据库的employee表的插入.删除的操作,然后在cmd窗口中用sql命令查询employee表的操作过程. 1.第一步:首先把程序写好. 1. ...
- C语言使用SQLite3数据库
原文:C语言使用SQLite3数据库 SQLite是一个著名的免费数据库(不管是商用还是私人使用都免费),已经向众多公司如Adobe, Airbus, Apple, google, GE, Micro ...
- VC++、MFC Sqlite3数据库的使用
SQLite数据库是一种本地的轻型数据库,在存储一些本地的数据的时候,或者不需要用到Oracle,SQL2008之类的大型数据库的时候,Sqlite的优势就能够得到发挥.程序需要采集数据存储起来,可以 ...
随机推荐
- Laya IDE 快捷键
Laya IDE 快捷键: ctrl+p 快速打开文件,fb中对应的是ctrl+shift+G ctrl+d 删除一行 ctrl+shift+o打开符号 alt+shift+下箭头 复制一行 alt+ ...
- SAS常用函数
SAS常用函数 一.数学函数 ABS(x) 求x的绝对值. MAX(x1,x2,…,xn) 求所有自变量中的最大一个. MIN(x1,x2,…,xn) 求所有自变量中的最小一个. MOD(x,y) ...
- Revit API 操作共享参数和项目参数
1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { Strin ...
- 【转】Android AlertDialog自定义布局
原文网址:https://blog.csdn.net/u010694658/article/details/53022294 由于开发中经常使用弹框,然而系统自带的弹框太局限,也不太美观,经常不能满足 ...
- redis之 Redis持久化配置
Redis持久化配置 Redis的持久化有2种方式 1快照 2是日志 Rdb快照的配置选项 save 900 1 // 900内,有1条写入,则产生快照 save 300 1000 ...
- react 学习资料
react 学习资料 项目 学习资料 react 中文版:https://doc.react-china.org/ react-router https://reacttraining.com/rea ...
- Excel技巧--图表添加平均线为指标
如上图,如果在柱状图有一平均指标线,就能很直观地显示各柱状值是否高于或低于平均值这个指标. 添加方法: (1)为表格制作一个柱状图: 2.对图表点右键,菜单选择“更改图表类型”.对话框如下选择: 3. ...
- 车载文档记录(ROM)
一,缩写词定义 1,ECU和ECM ECU: Engine Control Unit 发动机控制单元:从用途上讲则是汽车专用微机控制器.ECM: Engine Control Module 发动机控制 ...
- 帆软:不使用 __parameters__ 传参,问题。
原帖地址:http://bbs.fanruan.com/thread-117614-1-1.html 在设计器本地可以用下面方式传参数,这个方式跟 &userID=28 的结果是一样的. Re ...
- Python开发经验汇总
1.工具 (1)编代码用“JetBrains PyCharm”: (2)要想编写的脚本能够直接双击运行,还需要用pyinstaller打包工具: (3)要下载pyinstaller就用Python自带 ...