iOS激情詳解之SQL增刪改查

2021-07-05 08:16:05 字數 3487 閱讀 7650

// sqlitemanager.h

// mysqlite

//// created by wdx on 15/9/16.

#import #import #import "student.h"

@inte***ce sqlitemanager : nsobject

// 1,單例類初始化

+ (sqlitemanager *)sharemanager;

// 如果你要使用資料庫的話 要引入乙個框架

// libsqlite3.0.dylib 框架

// 使用的話需要引入標頭檔案 #import // 2,開啟資料庫 有就開啟沒有就關閉

// sqlite3 *表示咱們的資料庫

- (sqlite3 *)opendb;

// 3,關閉資料庫

- (void)closedb;

// 4,建立乙個表

- (void)createtable;

// 5,插入資料 存的是model裡面的資訊 (增)

- (void)insertwith:(lanoustudent *)student;

// 6,刪除資料 刪除19歲以上的 (刪)

- (void)deletestudentwithage:(nsinteger)age;

// 7,更新資料 根據名字修改年齡 (改)

- (void)updatename:(nsstring *)name setage:(nsinteger)age;

// 8,查詢資料 根據名字和年齡查詢學生 (查)

- (lanoustudent *)querystudentwithname:(nsstring *)name andage:(nsinteger)age;

// 9,查詢所有學生資訊

- (nsarray *)queryallstudents;

@end

// sqlitemanager.m

// mysqlite

//// created by wdx on 15/9/16.

#import "sqlitemanager.h"

@implementation sqlitemanager

//一, 初始化方法

// 建立單例類 進行對資料庫 操作方法的封裝

+ (sqlitemanager *)sharemanager

return manager;

}// 三,定義乙個靜態指標 負責連線資料庫

// 保證資料庫 直到程式結束才釋放

static sqlite3 *db = nil;

// 二,實現

// *****開啟資料庫*****有就開啟,沒有就建立

// sqlite3 *表示咱們的資料庫

- (sqlite3 *)opendb

// 不存在 就建立乙個資料庫

// 獲取檔案路徑

nsstring *documentspath = [nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)lastobject];

// 拼接路徑

nslog(@"%@", dbpath);

// 建立資料庫

//const char *filename 引數1:檔案路徑 utf8string:需要把oc字串轉換一下型別

//sqlite3 **ppdb 引數2:資料庫位址

// sqlite3_open 該函式如果有資料庫就開啟 如果沒有就建立乙個出來

int result = sqlite3_open(dbpath.utf8string, &db);

// 檢視命令返回結果

// sqlite_ok表示成功

if (result == sqlite_ok) else

return db;

}// *****關閉資料庫*****

- (void)closedb

else

}// 四,建立乙個表

- (void)createtable

else

// 5,關閉資料庫

[self closedb];

}// 五,插入資料 插入的不是model, 是model裡面的資訊 (增)

- (void)insertwith:(lanoustudent *)student

else

//5,關閉資料庫

[self closedb];

}// 六,刪除資料 刪除19歲以上的 (刪)

- (void)deletestudentwithage:(nsinteger)age

else

// 5,關閉資料庫

[self closedb];

}// 七,更新資料 根據名字修改年齡 (改)

- (void)updatename:(nsstring *)name setage:(nsinteger)age

else

[self closedb];

}// 八,查詢資料 根據名字和年齡查詢學生 (查)

- (lanoustudent *)querystudentwithname:(nsstring *)name andage:(nsinteger)age

} else

//12, 關閉資料庫

[self closedb];

return nil;

}// 九,查詢所有學生資訊

- (nsarray *)queryallstudents

// 12,釋放跟隨指標

sqlite3_finalize(stmt);

// 13,關閉資料庫

[self closedb];

// 14,返回資料

return array;

} else

// 15,再次關閉資料庫

[self closedb];

return nil;

}@end

// student.h

// mysqlite

// created by wdx on 15/9/16.

#import @inte***ce lanoustudent : nsobject

// 名字

@property (nonatomic, retain)nsstring *name;

// 年齡

@property (nonatomic, assign)nsinteger age;

// 性別

@property (nonatomic, retain)nsstring *gender;

// 學號

@property (nonatomic, assign)nsinteger number;

@end

SQL 增刪改查

之前大致了解過,現在用 mysql 的還是居於多數,而且自己之後也有意嚮往大前端發展,所以就需要撿起以前的 sql,也希望將來有機會用 node.js mysql 做大型專案的機會。因此,就從簡單的 sql 的增刪改查開始大前端之路。開發中最常見的就是 select 查詢。簡單的查詢,看起來是這樣的...

SQL增刪改查

1 增 insert into table name values value1,value2,insert into table name 列1,列2,values 值1,值2,2 刪 delete from table name where 列名稱 值 3 改 update table name...

DML之SQL增刪改查

dml 資料操作語言 適用物件 表中的資料 功能 1 向表中新增資料 mysql insert into goods id,name,price,type values 2,褲子 100,服裝 注意 如果我們新增資料時,每一列的值都不為空的話,我們可以省去列,如下 mysql insert into...