iOS SQLite資料庫操作

2021-09-29 18:34:34 字數 2840 閱讀 4611

首先介紹一下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 到這裡你需要事先...