// 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...