前言:

  之前学习了数据存储的NSUserDefaults,归档和解档,沙盒文件存储,但是对于数据量比较大,需要频繁查询,删除,更新等操作的时候无论从效率上还是性能上,上述三种明显不能满足我们的日常开发需要了。这个时候我们必须借助数据库,做为Android开发的都知道采用的是一种轻量级数据库Sqlite。其实它广泛用于包括浏览器、IOS,Android以及一些便携需求的小型web应用系统。它具备占用资源低,处理速度快等优点。接下来我们具体认识一下。

  我们在项目开发中需要引入libsqlite3.dylib,那么sqllite有哪些具体方法呢?

sqlite3  *db, 数据库句柄,跟文件句柄FILE很类似
sqlite3_stmt      *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句
sqlite3_open(),   打开数据库,没有数据库时创建。
sqlite3_exec(),   执行非查询的sql语句
Sqlite3_step(), 在调用sqlite3_prepare后,使用这个函数在记录集中移动。
Sqlite3_close(), 关闭数据库文件还有一系列的函数,用于从记录集字段中获取数据,如
sqlite3_column_text(), 取text类型的数据。
sqlite3_column_blob(),取blob类型的数据
sqlite3_column_int(), 取int类型的数据

 为了系统而且方面的学习sqlite 整理一个sqlite管理类DBManager,实现功能具体涵盖了:数据库的创建,打开,关闭,升级,数据的增删改查,以及事务的开启和开启事务的好处。

 DBManager.h

#import <Foundation/Foundation.h>

@interface DBManager : NSObject<NSCopying>

//创建数据库管理者单例
+(instancetype)shareManager;

//打开数据库
-(void)openDb;

//关闭数据库
-(void)closeDb;

//执行sql语句
-(void)execSql:(NSString *)sql;

//创建数据库表
-(void)creatTable;

//删除表结构
-(void)dropTable;

//插入数据
-(void)insertData:(NSString*)tempName;

//插入数据未开启事务
-(void)insertDataByNomarl:(NSArray*)tempNames;

//插入数据开启事务
-(void)insertDataByTransaction:(NSArray*)tempNames;

//删除数据
-(void)deleteData:(NSString*)tempName;

//删除数据
-(void)deleteData;

//修改数据
-(void)updateData:(NSString*)tempName;

//查询数据
-(void)queryData;

@end
View Code

相关文章:

  • 2022-12-23
  • 2021-10-27
  • 2022-12-23
  • 2021-10-26
  • 2021-08-16
  • 2021-10-14
  • 2021-08-26
猜你喜欢
  • 2021-11-20
  • 2021-11-09
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2021-10-15
  • 2021-08-17
相关资源
相似解决方案