数据缓存——SQLite关系型数据库的使用
Posted super_man_风清扬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据缓存——SQLite关系型数据库的使用相关的知识,希望对你有一定的参考价值。
SQLite关系型数据库的使用
数据库(Database): 存放数据的仓库, 存放的是一张的表, 特别像Excel, Numbers, 都以表格的形式存放数据, 可以创建多张表。
常见的数据库: sqlite, MySQL, SQLServer, Oracle, Access。
使用数据库,主要是因为文件读写和归档读取数据需要一次把数据全部读出来, 占用内存开销大;其次是数据库数据效率高, 体现在增删改查。
数据库存储数据的步骤
1、新建一个数据库
2、新建一张表(table)
3、添加多个字段(column,列,属性)
4、添加多行记录(row,每行存放多个字段对应的值)
数据库的操作语句 (增删改查),即SQL(Structured Query Language)
SQL 语句不区分大小写, 字符串需要加""或''
常用语法:(主键: 是一条数据的唯一标示符, 一张表只能有一个主键, 主键不能够重复, 一般把主键名设为"id", 不需要赋值, 会自增;*代表所有的字段;where是条件)
1 表操作
(1)创建表: creat table 表名 (字段名字段数据类型 是否为主键, 字段名 字段数据类型, 字段名 字段数据类型...)
(2)修改表名:ALTER TABLE 旧表名 RENAME TO 新表名
(3)删除表:DROP TABLE 表名
(4)表添加一列:ALTER TABLE 表名 ADD COLUMN 列名数据类型 限定符
2 表数据操作
(1)查: select 字段名 (或者*) from 表名 where 字段名 = 值
(2)加: insert into 表名 (字段1, 字段2...) values (值1, 值2...)
(3)改: update 表名 set 字段 = 值 where 字段 = 值
(4)删: delete from 表名 where 字段 = 值
SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了。它的处理速度比mysql、PostgreSQL这两款著名的数据库都还快。
SQLite名词解释
2个重要结构体
1 sqlite3 *pdb(数据库句柄,跟文件句柄FILE类似)
2 sqlite3_stmt *stmt(这个相当于ODBC的Command对象,用于保存编译好的SQL语句)
5个主要函数
1 sqlite3_open()(打开数据库)
2 sqlite3_exec()(执行非查询的sql语句)
3 sqlite3_prepare()(准备sql语句,执行select语句或者要使用parameterbind时,用这个函数(封装了sqlite3_exec))
4 Sqlite3_step()(在调用sqlite3_prepare后,使用这个函数在记录集中移动)
5 Sqlite3_close()(关闭数据库文件)
SQLite 存储类
1 NULL(值是一个 NULL 值)
2 INTEGER(值是一个带符号的整数,根据值的大小存储在1、2、3、4、6 或 8 字节中)
3 REAL(值是一个浮点值,存储为 8 字节的 IEEE 浮点数字)
4 TEXT (值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储)
5 BLOB (值是一个 blob 数据,完全根据它的输入存储)
SQLite常用语句
1、打开数据库 sqlite3_open函数
2、预处理SQL语句sqlite3_prepare_v2函数
3、绑定参数sqlite3_bind_text函数
4、执行SQL语句sqlite3_step函数(状态:*SQLITE_BUSY-数据库被锁定、*SQLITE_DONE-成功执行过程、*SQLITE_ROW-返回一行结果、*SQLITE_ERROR-运行错误、*SQLITE_MISUSE-错误的使用了本函数)
5、提取字段数据sqlite3_column_text、sqlite3_column_blob、sqlite3_column_int等函数
6、释放statement对象资源 sqlite3_finalize函数
7、关闭数据库 sqlite3_close函数
SQLite的使用
1、在iOS中使用SQLite时,首先需要添加库文件libsqlite3.tbd
2、导入主头文件 #import<sqlite3.h>
3、数据库操作(注:设置数据库名称及路径)
示例代码:
设置数据库路径