归纳笔记015:iOS中的SQLite数据库

来源:互联网 发布:国泰安数据库怎么用 编辑:程序博客网 时间:2024/06/04 22:27

iOS的SQLite编程

iOS的SQLite编程并没有使用OC面向对象的语法,而是使用了原生的C函数库。

为了在项目中使用iOS的SQLite编程API,需要先完成如下两步:

(1)   为项目增加lisqlite3.dylib。

(2)   在需要使用SQLiteAPI的OC类中使用如下代码导入libsqlite3.dylib:

#import<sqlite3.h>

SQLite数据库操作步骤如下:

(1)    调用sqlite3_open()函数打开与数据库的连接。

(2)    如果执行简单的DDL、DML语句,则直接调用sqlite3_exec()函数执行这些SQL语句即可。

(3)    如果预编译的SQL语句中包含了占位符参数,还需要调用sqlite3_prepare_v2()函数预编译SQL语句。

(4)    如果预编译的SQL语句中包含了占位符参数,还需要调用sqlite3_bind_xx()函数为占位符参数绑定参数值。

(5)    如果预编译Statement执行的SQL语句是DDL或DML,则调用sqlite3_step()函数执行SQL语句即可;如果预编译Statement执行的SQL语句是查询语句,则循坏调用sqlite3_step()函数一次取出每个数据行即可。

(6)    如果程序中使用预编译Statemen执行过SQL语句,则调用sqlite3_finalize()函数关闭sqlite3_stmt。

(7)    调用sqlite3_close()函数关闭数据库连接。


创建数据库和表

使用sqlit3_open()函数即可打开或创建数据库,代码如下:

Sqlite3* database;

Sqlite3_open([[selfdbPath]UTF8String], &database);

上面代码用于打开或者创建一个SQLite数据库。

接下来为创建数据库表:

Const char * createSQL = “create table if notexists word_inf\(_id integer primary key autoincrement, \word,\detail)”;

//执行表语句

Int result = sqlite3_exec(database, createSQL,NULL, NULL, &errMsg);

 

使用SQL语句执行查询

 Sqlite3_exec()函数可执行无须返回值的SQL语句,一般用于执行DDL或DML语句;如果需要执行查询语句,一般会调用sqlite3_prepare_v2()预编译查询语句,然后循环调用sqlite3_step()函数取出查询结果集。


使用sqlite3工具

Mac OS X的lion版或更高版本的系统已经自带sqlite3工具,它是一个简单的SQLite数据库管理工具,类似于MySQL提供的命令行窗口。开发者可以利用该工具来查询、管理数据库。

Sqlite3中常用的命令如下:

(1)   .datbases:查看当前数据库。

(2)   .tables:查看当前数据库里的数据表。

(3)   .help:查看sqlite3支持的命令。

需要指出的是,SQLite内部只支持NULL、INTEGER、REAL、TEXT和BLOB这5种类型,但实际上SQLite完全可以接收varchar(n)、char(n)、decimal(p,s)等数据类型,知不是SQLite会在运算或保存时将它们转换为上面5种数据类型中的相应类型。

除此之外,SQLite允许把各种类型的数据保存到任何类型字段中,开发者可以不用管理声明该字段所使用的数据类型。



0 0
原创粉丝点击