#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数据库的更多相关文章

  1. 安卓使用SQlite3数据库无法id主键无法自动增加?不是的。

    安卓使用SQlite3数据库无法id主键无法自动增加?不是的. 要这样写:id integer primary key ,要写integer而不是int所以会报错! http://blog.csdn. ...

  2. 【转】去掉Sqlite3 数据库中的前后回车换行符(newline)

    原文: http://www.blogjava.net/pts/archive/2013/06/10/400... 时间: 2013-06-10 转自:http://www.ityuedu.com/a ...

  3. 《全唐诗》的sqlite3数据库

    下载地址: http://pan.baidu.com/s/1b2mE54quantangshi.db是sqlite3数据库,包括2张表.index表:volume 列(整数,主键) 表示卷号,从1到9 ...

  4. [Android]AndroidInject增加sqlite3数据库映射注解(ORM)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3623050.html AndroidInject项目是我写的一 ...

  5. Cocos2dx使用wxsqlite开源加密SQLite3数据库

    最近使用wxsqlite加密sqlite3数据库,刚开始折腾好几天,在xcode上一直编译不通过,后来在sqlite3.c找到配置,编译顺利通过,太激动了,哈哈,废话少说!总结一下android和io ...

  6. 基于s5pv210嵌入式linux系统sqlite3数据库移植

    基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf ...

  7. Cocos移植到Android的一些问题-SQLite3数据库移植问题

    首选我们讨论一下SQLite3数据库移植问题.我们在第14章节介绍了在Win32平台使用SQLite3数据库,我们介绍了两种配置环境的方法:一种是使用Cocos2d-x提供的SQLite3库配置,另一 ...

  8. 在cmd窗口中查询android的sqlite3数据库表之步骤

    本文主要是写了一个android程序对sqlite3中数据库的employee表的插入.删除的操作,然后在cmd窗口中用sql命令查询employee表的操作过程. 1.第一步:首先把程序写好. 1. ...

  9. C语言使用SQLite3数据库

    原文:C语言使用SQLite3数据库 SQLite是一个著名的免费数据库(不管是商用还是私人使用都免费),已经向众多公司如Adobe, Airbus, Apple, google, GE, Micro ...

  10. VC++、MFC Sqlite3数据库的使用

    SQLite数据库是一种本地的轻型数据库,在存储一些本地的数据的时候,或者不需要用到Oracle,SQL2008之类的大型数据库的时候,Sqlite的优势就能够得到发挥.程序需要采集数据存储起来,可以 ...

随机推荐

  1. 填充整个区间(fill,fill_n,generate和generate_n)

    fill 将value值填充整个区间,不能为OutputIterator,因为fill会用到first和last,outputIterator无法做相等的测试 template <class F ...

  2. linux 查看tcp数量

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

  3. 混合pyqt和qtcreator

    目的:测试能否用qtcreator编辑ui资源,而用python编写代码逻辑 import sysfrom PyQt4 import QtGui, uic class MyWindow(QtGui.Q ...

  4. 朴素贝叶斯文本分类(python代码实现)

    朴素贝叶斯(naive bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法. 优点:在数据较少的情况下仍然有效,可以处理多分类问题. 缺点:对入输入数据的准备方式较为敏感. 使用数据类型:标称 ...

  5. “word无法发布此文章”解决

    之前用的好好的word发布文章到cnblogs,但是最近不好用了:报错如题. 解决方案: 选择设置tab,然后拉到最下面: 会看到有一个"MetaWeblog访问地址":拷贝下来: ...

  6. php exec返回状态为1

    之前在用到php exec 时 总是保存,返回状态1,那这时怎么排查呢 exec('ls 2>&1', $output, $return_val); print_r($output); ...

  7. golang语言并发与并行——goroutine和channel的详细理解(一) 转发自https://blog.csdn.net/skh2015java/article/details/60330785

    如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人. Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据. ...

  8. C#中全局处理异常方式

    using System; using System.Configuration; using System.Text; using System.Windows.Forms; using ZB.Qu ...

  9. SET FMTONLY ON

    有时候在执行SQL查询语句时,仅仅需要知道检索的元数据,而不是具体的数据行,可以设置SET FMTONLY ON. SET FMTONLY只将元数据返回给客户端. 语法SET FMTONLY { ON ...

  10. C#修改类模板

    安装目录下 Program Files\vs2013\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class 注意:中文是2052 英文是1033 ...