iOS 資料庫儲存

2021-07-10 05:44:06 字數 2772 閱讀 7073

一、sql資料庫簡單知識

常見資料型別:

1.建表

create

table

ifnot

exists t_student;

2.建立一張包含外來鍵引用的表

create

table

ifnot

exists 』t_student』(id integer

primary

key autoincrement, class_id integer, constraint 「fk_student」 foreign

key (class_id) references 「t_class」(id));

3.刪表

drop

table

ifexists t_student;

4.建立表時可以給特定的字段設定一些約束條件,常見的約束條件有

not null 規定字元值不能為null

unique 規定字段值唯一

default 指定字段預設值

5.select查詢資料庫

(1).limit限制

select * from t_student limit 3, 5;  // 查詢5條記錄,從第3條記錄開始;

select * from t_student limit 5; // 查詢5條記錄(沒有起始條件);

(2).多表查詢

select * from t_food where food_type_id = (select id from t_food_type where name=「cc」);
(3).表連線查詢

from t_food as f, t_food_type as ft where f.food_type_id = ft.id

and ft.name = 「cc」;

二、sqlite3.h

依賴庫:libsqlite3.dylib

1.建立資料庫例項

// 資料庫例項

sqlite3 *db;

// 資料庫檔案路徑

nsstring *filename;

const

char *cfilename = filename.utf8string; // 將oc字串轉換成為c語言字串;

2.開啟資料庫(如果資料庫檔案不存在,sqlite3_open函式會自動建立資料庫檔案)

int result = sqlite3_open(cfilename, $db);  

if(result == sqlite_ok) // 開啟成功

3.建立資料庫表

char *errormsg = null;  // 錯誤資訊

int result = sqlite3_exec(db, sql, null, null, &errormsg);

if(result == sqlite_ok) // 建立表成功

4.插入資料

sqlite3_exec(db, sql, null, null, &errormsg);

if(errormsg) // 建立失敗

5.查詢資料

sqlite3_stmt *stmt = null;  // 用來儲存資料

// 查詢資料,第三個引數表示sql語句的長度,傳-1代表系統會自動計算sql語句的長度

int result = sqlite3_prepare_v2(db, sql, -1, &stmt, null);

if(result == sqlite_ok) // 查詢成功

// 讀取資料,每呼叫一次此函式,stmt則會指向下一條記錄

while(sqlite3_step(stmt) == sqlite_row)

三、fmdb

1.獲取資料庫例項物件

fmdatabase *db = [fmdatabase databasewithpath:filename];

[db open];

2.執行一段sql語句

bool result = [db executeupdate:@「」];

// sql語句傳參

[db executeupdate:@「insert

into t_student (name, age) values (?, ?);」, name, @(12)];

[db executeupdatewithformat:@「insert

into t_student (name, age) values (%@, %d)」, name, 12];

3.查詢

// 執行查詢語句

fmresultset *resultset = [db executequery:@「select * from t_student」];

while([resultset next])

4.資料庫事務

fmdatabasequeue *queue = [fmdatabasequeue databasequeuewithpath:filename];

[queue indatabase:^(fmdatabase *db)];

資料庫儲存

sqlite資料庫儲存 android 系統竟然是內建了資料庫的,sqlite 是散輕量級的關係型資料庫,它的運算速度非常快,古用資源很少,通常只需要幾百kb的記憶體就足夠了,因而特別適合在移動裝置上用。sqlite不僅支援標準的sol語法,還遵循了資料庫acid事務,所以只要你以前使用過其他的關係...

iOS開發 資料庫

大型資料庫 1 sqlserver 只能在windows下使用,配置繁瑣 2 my sql 適用於網頁 3 oracle 商業類的資料庫 可以跨平台,有iso認證 sqlite 小型,輕量,微型資料庫 每個表單只有乙個主鍵 其他的都不是主鍵 不允許為空 sqlite 建立表create table ...

IOS資料庫使用

sqlite 1.是乙個開源 輕型嵌入式關聯式資料庫,誕生於2000年5月 2.暫用資源非常低,只需要幾百k的記憶體就足夠了 3.支援windows linux unix等主流的作業系統 4.處理速度快 5.語句不區分大小寫,以 結尾 常用的資料庫操作有 增 刪 改 查 在使用資料庫前,需要設定資料...