帶隊(duì)列的FMDB框架的使用(重點(diǎn))
使用FMDBqueue操作數(shù)據(jù)庫(kù),保障線(xiàn)程安全,加入隊(duì)列中.
步驟:
1. 導(dǎo)入FMDB第三方庫(kù)
2. 導(dǎo)入sqliet3.0官方框架
3. swift版創(chuàng)建橋接文件(手動(dòng)添加搜brid...)
---------------------------------
代碼部分
4. 創(chuàng)建單例sqliteManager.
5. 在appdelegate中打開(kāi)數(shù)據(jù)庫(kù).(有好幾步,打開(kāi)并連接數(shù)據(jù)庫(kù),創(chuàng)建表)
//先拼接沙盒路徑
// 初始化FMDBQueue的隊(duì)隊(duì),如果沒(méi)有數(shù)據(jù)庫(kù), 會(huì)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù), 并且連接數(shù)據(jù)庫(kù)
dbQueue = FMDatabaseQueue(path: dbPath!)
func createTable () -> Void {
//創(chuàng)建表的sql表
let sql = "CREATE TABLE IF NOT EXISTS 't_student' (\n" +
"'id' INTEGER NOT NULL,\n" +
"'name' text NOT NULL,\n" +
"'sex' TEXT NOT NULL,\n" +
"PRIMARY KEY('id')\n" +
")"
dbQueue?.inDatabase({ (db) in
do {
執(zhí)行sql語(yǔ)句使表創(chuàng)建
try db?.executeUpdate(sql, values: nil)
} catch {
print(error)
}
})
}
6. 在模型內(nèi)增刪改查
同創(chuàng)建表代碼只是更換了sql語(yǔ)句
改
let sql = "update 't_student' set 'name'='\(name!)' where id=\(id)"
刪
let sql = "delete from 't_student' where name='\(name!)'"
增
let sql = "insert into 't_student' ( 'sex', 'name') values (\(sex), '\(name!)')"
查:查方法相對(duì)復(fù)雜
1. 執(zhí)行你要查詢(xún)的sql語(yǔ)句(外部傳進(jìn)來(lái)).根據(jù)sql語(yǔ)句獲取結(jié)果集
2. 步進(jìn)(遍歷)結(jié)果集,逐條獲取數(shù)據(jù)(或者獲取你想要的數(shù)據(jù).)
3. 用數(shù)據(jù)生成字典,將字典生成數(shù)組返回
數(shù)據(jù)庫(kù)介紹
是一個(gè)二進(jìn)制文件,以表的形式存儲(chǔ)數(shù)據(jù),表:模型數(shù)組.表的每一行相當(dāng)于模型.每一列的字段:相當(dāng)于模型中的屬性.
特點(diǎn):每一個(gè)表里面有一個(gè)唯一的id去標(biāo)示一條數(shù)據(jù).名稱(chēng)叫主鍵(mainKey),引用某個(gè)表的數(shù)據(jù),應(yīng)該存該表的主鍵(另一張表的),但是在這張表中叫外鍵.
主鍵的特點(diǎn):1. 唯一性,2. Int, 3. 自增長(zhǎng)的(不設(shè)置自己往后添加id).
-
是一種輕量級(jí),嵌入式的數(shù)據(jù)庫(kù).
1. 輕量級(jí):小 2. 嵌入式:就是一個(gè)文件
**使用特點(diǎn):創(chuàng)建表,增,刪,改,查(統(tǒng)計(jì)) **
1. creat
2. select(查詢(xún))查
3. insert(插入)增
4. delete(刪)
5. update(改)
6. 條件查詢(xún)
- 數(shù)據(jù)庫(kù)的種類(lèi)
- sqllite(就是一個(gè)文件),使用場(chǎng)景:app開(kāi)發(fā)使用
- mysql
- oracle
- sqlserver
- 怎么去操作數(shù)據(jù)庫(kù):** sql語(yǔ)句 **
sql的語(yǔ)法:
安裝破解的數(shù)據(jù)庫(kù)可視化工具.
1. 怎么寫(xiě)sql(字符串去使用)
1.1 創(chuàng)建表
創(chuàng)建表的sql語(yǔ)句
CREATE TABLE "bossTable" (
"id" INTEGER NOT NULL,
"name" TEXT NOT NULL,
"age" INTEGER NOT NULL,
PRIMARY KEY("id")
)
1.2 增
insert into "bossTable" ( "age", "name") values ( 22, 'lili')
1.3 刪(通過(guò)name鍵刪除不能加'name',是通過(guò)這個(gè)鍵找,不是字符串)
delete from "bossTable" where id=3
1.4 改
update "bossTable" set "age"=20 where id=3
1.5 查
select * from bossTable where id = 1
2. 怎么執(zhí)行sql(iOS中),在項(xiàng)目當(dāng)中操作sqllite
2.1. 添加數(shù)據(jù)庫(kù)框架
2.2. 添加橋接文件(取巧的方式,創(chuàng)建OC文件創(chuàng)建橋接文件,刪除OC文件),導(dǎo)入sqlite3的框架頭文件
3.2. 創(chuàng)建數(shù)據(jù)庫(kù)單例.
4. 數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)操作需求(打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)都消耗性能,只需要打開(kāi)不需要我們手動(dòng)關(guān)閉)
4.1 建立數(shù)據(jù)庫(kù)(打開(kāi)并連接),如果沒(méi)有就創(chuàng)建,有就打開(kāi)
4.2 創(chuàng)建table(本質(zhì)是執(zhí)行sql語(yǔ)句),將sql語(yǔ)句換成單引號(hào)
4.3 實(shí)現(xiàn)增刪改查語(yǔ)句sql字符串.