SQLite数据库
- 数据(Data)
能够输入计算机并能被计算机程序识别和处理的信息集合
- 数据库(Database)
数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合
- 关系型数据库
在建立表格的时候数据与数据之间是依靠它的一种逻辑关系建立存储关系的数据库
基于嵌入式的数据库
- 基于嵌入式Linux的数据库主要有SQLite, Firebird, Berkeley DB,extremeDB
- Firebird是关系型数据库,功能强大,支持存储过程、SQL兼容等
- sQLite关系型数据库,体积小,支持ACID事务
- Berkeley DB中并没有数据库服务器的概念,它的程序库直接链接到应用程序中
- extremeDB是内存数据库,运行效率高
SQLite介绍:
- sQLite的源代码是c,其源代码完全开放.soLite第一个Alpha版本诞生于2000年5月。他是一个轻量级的嵌入式数据库。
- sQLite有以下特性:
1.零配置一无需安装和管理配置;
2.储存在单一磁盘文件中的一个完整的数据库;
3.数据库文件可以在不同字节顺,的机器间自由共享;
4.支持数据库大小至2TB;
5.足够小,全部源码大致3万行c代码, 250KB;
6.比目前流行的大多数数据库对数据的操作要快;
电影、图片等打文件存在文件系统下,表格文字等内容才是放在数据库。
SQLite安装和相关shell命令
所有的数据库使用的都是sql命令
.开头的是系统命令
1 | sqlite3 # 进入数据库程序 |
sql命令以分号结尾
1 | 创建一个数据库 |
表格直接理解成excel表格,sqlite不会进行严格的类型匹配,sqlite不支持直接删除一列。
SQLite编程接口
- C语言sqlite基本操作api
1 | int sqlite3_open(char *path, sqlite3 **db); |
更多的api接口函数可以查询SQLite api接口文档
示例:
1 |
|
编译需要链接sqlite3库:gcc sqlite.c -o sqlite -lsqlite3,其实C语言里面编程也是通过sqlite3_exec()来执行sql语句达到操作数据库的目的,和直接在shell输命令没有多大差别。
primary key主键创建时指定一个字段,一张表不能有相同的主键,可以把用户名设置成主键。
sqlite api接口在线文档:https://tool.oschina.net/apidocs/apidoc?api=sqlite
- 本文作者: 龙兄嵌入式
- 本文链接: https://hexo.880755.xyz/1970/01/01/zblog/download/62.SQLite数据库/