iOS sqlite對數(shù)據(jù)庫的各種操作(日常整理全)
在IOS中使用Sqlite來處理數(shù)據(jù)。如果你已經(jīng)了解了SQL,那你可以很容易的掌握SQLite數(shù)據(jù)庫的操作。iOS對于數(shù)據(jù)庫的操作:增加、刪除、查找、修改具體介紹如下所示:
首先需要創(chuàng)建一個數(shù)據(jù)庫:本程序的數(shù)據(jù)庫是在火狐瀏覽器里的插件里寫的微量型數(shù)據(jù)庫
火狐找查找SQLite Manager的步驟:
第一步:在工具欄找到附加組件,點擊進入
第二步:搜索 SQP,找到并下載,安裝完成之后需要重啟瀏覽器
第三步:在工具只樂觀找到SQLite Manager,點擊打開
SQLite Manager界面如圖所示
注:SQLite Manager是微量型的數(shù)據(jù)庫編程軟件,所以一次只能執(zhí)行一句代碼?。?!
•創(chuàng)建數(shù)據(jù)庫
--數(shù)據(jù)庫的建立 create table team ( -- 創(chuàng)建名字為team的table stu_id integer primary key autoincrement, stu_name varchar(100), stu_password varchar(100), stu_login varchar(100) )--添加信息 insert into team(stu_name,stu_password,stu_login) values('xiaming','123456','xm') insert into team(stu_name,stu_password,stu_login) values('zhangsan','123456',' zs') --查詢信息select *from team --刪除信息delete from team where stu_id=3
工程目錄文件如下:
這里需要導入一個系統(tǒng)自帶的文件libsqlite3.0.tbd
步驟如圖:
•實現(xiàn)工程
ViewController.h
#import <UIKit/UIKit.h> #import <sqlite3.h> @interface ViewController : UIViewController @property(strong,nonatomic)UIButton *showbtn; @property(strong,nonatomic)UIButton *insertbtn; @property(strong,nonatomic)UIButton *updatebtn; @property(strong,nonatomic)UIButton *deletebtn; @end
ViewController.h
#import "ViewController.h" #define PATH [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"team.sqlite"] @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 獲取沙盒 Documents文件路徑 NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]); [self button]; } -(void)button { self.showbtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.showbtn.frame=CGRectMake(100, 50, 200, 50); [self.showbtn setTitle:@"數(shù)據(jù)庫顯示" forState:UIControlStateNormal]; [self.showbtn addTarget:self action:@selector(showSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.showbtn]; self.insertbtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.insertbtn.frame=CGRectMake(100, 100, 200, 50); [self.insertbtn setTitle:@"數(shù)據(jù)庫添加" forState:UIControlStateNormal]; [self.insertbtn addTarget:self action:@selector(insertSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.insertbtn]; self.updatebtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.updatebtn.frame=CGRectMake(100, 150, 200, 50); [self.updatebtn setTitle:@"數(shù)據(jù)庫修改" forState:UIControlStateNormal]; [self.updatebtn addTarget:self action:@selector(updateSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.updatebtn]; self.deletebtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.deletebtn.frame=CGRectMake(100, 200, 200, 50); [self.deletebtn setTitle:@"數(shù)據(jù)庫刪除" forState:UIControlStateNormal]; [self.deletebtn addTarget:self action:@selector(deleteSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.deletebtn]; } #pragma mark - 顯示數(shù)據(jù)表中的所有信息 -(void)showSql { NSLog(@"顯示數(shù)據(jù)庫信息"); // 數(shù)據(jù)庫 sqlite3 *db; // 根據(jù)指定的數(shù)據(jù)庫文件存儲路徑打開數(shù)據(jù)庫 int result=sqlite3_open([PATH UTF8String], &db); // 創(chuàng)建執(zhí)行命令對象 sqlite3_stmt *stmt; // 打開數(shù)據(jù)庫成功 if (result==SQLITE_OK) { NSLog(@"連接成功"); // 執(zhí)行預處理命令 int res=sqlite3_prepare_v2(db, "select *from team", -1, &stmt, nil); if (res==SQLITE_OK) { // 循環(huán)遍歷數(shù)據(jù)表的行信息 while (sqlite3_step(stmt)==SQLITE_ROW) { // 獲取數(shù)據(jù)表中整型列的信息 int stu_id=sqlite3_column_int(stmt, 0); NSLog(@"stu_id is %d",stu_id); // 獲取數(shù)據(jù)表中字符型的列的信息 NSLog(@"%@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 1)]); NSLog(@"%@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 2)] ); NSLog(@"%@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 3)] ); } } } } #pragma mark -增加信息 -(void)insertSql { sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open([PATH UTF8String], &db); int rst=sqlite3_prepare_v2(db, "insert into team(stu_name,stu_password,stu_login) values(?,?,?)", -1, &stmt, nil); sqlite3_bind_text(stmt, 1, "wangwu", -1, nil); sqlite3_bind_text(stmt, 2, "123456", -1, nil); sqlite3_bind_text(stmt, 3, "ww", -1, nil); // 判斷是否增加成功 if (rst==SQLITE_OK) { if (SQLITE_DONE==sqlite3_step(stmt)) { NSLog(@"add ok"); }else{ NSLog(@"add fail"); } } } #pragma mark - 修改數(shù)據(jù)庫 -(void)updateSql { sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open([PATH UTF8String], &db); // 方法一 /* int res = sqlite3_prepare_v2(db, "update team set stu_name=(?),stu_password=(?),stu_login=(?) where stu_id=2" , -1, &stmt, nil); sqlite3_bind_text(stmt, 1, "xiaoming", -1, nil); sqlite3_bind_text(stmt, 2, "123456", -1, nil); sqlite3_bind_text(stmt, 3, "xm", -1, nil); */ // 方法二 int rst=sqlite3_prepare_v2(db, "update team setstu_name='zl',stu_password='zl123',stu_login='zhangsan' where stu_id=4", -1, &stmt, nil); // 判斷是否修改成功 if (rst==SQLITE_OK) { if (SQLITE_DONE == sqlite3_step(stmt)) { NSLog(@" update ok"); }else{ NSLog(@"update fail"); } } } -(void)deleteSql { sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open([PATH UTF8String], &db); int rst=sqlite3_prepare_v2(db, "delete from team where stu_id=9", -1, &stmt, nil); // 判斷是否刪除成功 if (rst==SQLITE_OK) { if (SQLITE_DONE==sqlite3_step(stmt)) { NSLog(@" delete ok"); }else{ NSLog(@"delete fail"); } } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
以上內(nèi)容是小編給大家日常收集整理的iOS sqlite對數(shù)據(jù)庫的各種操作,希望對大家有所幫助,如果大家想了解更多有關ios sqlite相關知識請登錄腳本之家網(wǎng)站了解詳情,同時也非常感謝大家一直以來對腳本之家網(wǎng)站的支持!
- iOS開發(fā)中使用SQL語句操作數(shù)據(jù)庫的基本用法指南
- iOS中FMDB數(shù)據(jù)庫之增刪改查使用實例
- iOS App項目中引入SQLite數(shù)據(jù)庫的教程
- iOS開發(fā)中使用FMDB來使程序連接SQLite數(shù)據(jù)庫
- iOS學習筆記(十六)——詳解數(shù)據(jù)庫操作(使用FMDB)
- iOS中sqlite數(shù)據(jù)庫的原生用法
- 詳解ios中的SQL數(shù)據(jù)庫文件加密 (使用sqlcipher)
- iOS App使用SQLite之句柄的定義及數(shù)據(jù)庫的基本操作
- IOS 數(shù)據(jù)庫升級數(shù)據(jù)遷移的實例詳解
- iOS開發(fā)中如何優(yōu)雅的調(diào)試數(shù)據(jù)庫詳解
相關文章
詳解iOS - ASIHTTPRequest 網(wǎng)絡請求
本篇文章主要介紹了iOS - ASIHTTPRequest 網(wǎng)絡請求 ,詳細的介紹了 ASIHTTPRequest的使用,具有一定的參考價值,有興趣的可以了解一下。2016-12-12iOS實現(xiàn)不規(guī)則Button點擊效果實例代碼
這篇文章主要給大家介紹了關于iOS實現(xiàn)不規(guī)則Button點擊的相關資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-04-04支持Xcode10和適配iPhone XS Max、iPhone XR的方法
這篇文章主要介紹了支持Xcode10和適配iPhone XS Max、iPhone XR的方法,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-10-10基于iOS Realm數(shù)據(jù)庫的使用實例詳解
下面小編就為大家分享一篇基于iOS Realm數(shù)據(jù)庫的使用實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01