首先介紹一下sqlite資料庫以及為什麼要用ta:
sqlite是一款輕型的嵌入式資料庫,它占用資源非常的低,在嵌入式裝置中,可能只需要幾百k的記憶體就夠了。它的處理速度比mysql、postgresql這兩款著名的資料庫都還快。資料庫的儲存結構和excel很像,以表(table)為單位新建資料庫檔案
新建一張表(table)
新增多個字段(column,列,屬性)
新增多行記錄(row,每行存放多個字段對應的值)
sqlite將資料劃分為以下幾種儲存型別:
匯入 libsqlite3.0.tbd
引入標頭檔案 #import
nsstring *docpath =
[nssearchpathfordirectoriesindomains
(nsdocumentdirectory,nsuserdomainmask,yes) lastobject]
; nsstring *path =
@"mysql.sqlite"];
nslog
(@"%@"
,path)
; sqlite3 *mysql;if(
sqlite3_open
(path.utf8string,
&mysql)
!= sqlite_ok)
else
nslog
(@"開啟資料庫成功!"
);
char
*error =
null
; nsstring *createtable =
@"create table if not exists student (name text, age integer, icon blob)";if
(sqlite3_exec
(mysql, createtable.utf8string,
null
,null
,&error)
== sqlite_ok)
else
nslog
(@"新增表失敗!"
);
//插入資料
uiimage *image =
[uiimage imagenamed:
@"touxiang"];
nsdata *imagedata =
uiimagepngrepresentation
(image)
;nslog
(@"%@"
,imagedata)
; nsstring *insertdata =
@"insert into student(name, age, icon) values(?,?,?)"
;//預處理
sqlite3_stmt *statement =
null;if
(sqlite3_prepare_v2
(mysql, insertdata.utf8string,-1
,&statement,
null
)==sqlite_ok)
else
nslog
(@"儲存失敗");
}else
nslog
(@"預處理失敗");
//釋放開闢的記憶體空間
sqlite3_finalize
(statement)
;
//查詢資料
sqlite3_stmt *stmt =
null
; nsstring *selectdata =
@"select name, age from student";if
(sqlite3_prepare_v2
(mysql, selectdata.utf8string,-1
,&stmt,
null
)==sqlite_ok)
}else
nslog
(@"查詢預處理失敗");
sqlite3_finalize
(stmt)
;
語句:nsstring *sql = @"delete from student where name = ?";
與查詢所有資料步驟一致,先預處理,後執行
//刪除資料
sqlite3_stmt *stmt;
nsstring *deletedata =
@"delete from student where name = ? and age = ?";if
(sqlite3_prepare_v2
(mysql, deletedata.utf8string,-1
,&stmt,
null
)==sqlite_ok)
else
nslog
(@"刪除失敗");
}
修改符合條件的記錄
nsstring *sql =
@"update student set sign = ? where age = ?"
欄位名後面必須是 = ?,後面再把字段的值繫結過去,而不是直接把值寫到 sqlite 語句中。 iOS sqlite資料庫的基本操作
介紹 sqlite3 3是版本 是本地系統中的乙個小型資料庫,因為它沒有在資料維護和安全上做過多的操作,所以它儲存處理資料時,非常簡單方便,但是它是不安全和不可靠的,如果一旦誤操作刪除了資料,是沒有辦法恢復的 而sql server 和oracal這種資料庫屬於重量級的,它們都有備份機制,因此它們建...
iOS sqlite資料庫的基本操作
介紹 sqlite3 3是版本 是本地系統中的乙個小型資料庫,因為它沒有在資料維護和安全上做過多的操作,所以它儲存處理資料時,非常簡單方便,但是它是不安全和不可靠的,如果一旦誤操作刪除了資料,是沒有辦法恢復的 而sql server 和oracal這種資料庫屬於重量級的,它們都有備份機制,因此它們建...
iOS SQLite資料庫使用
首先需要在專案中引用sqlite 3的開發包,下面是在iphone sdk 3.0下的目錄 developer platforms iphoneos.platform developer sdks iphoneos3.0.sdk usr lib libsqlite3.0.dylib 到這裡你需要事先...