昨天講完了安裝FMDB的流程
今天就來介紹如何建立資料表以及資料庫吧
這次會用一個簡單的個人資料表範例來進行資料庫的CRUD操作
首先要先創建一個NSObject的類別來宣告要存進資料庫裡的資料
class Resume:NSObject{
var id = UUID().uuidString // 每筆資料的唯一識別碼
var name : String // 姓名
var gender : Bool // 性別
var age : Int //年齡
init(id : String, name : String, gender : Bool, age : Int) {
self.id = id
self.name = name
self.gender = gender
self.age = age
}
}
接著再創建一個NSObject類別來宣告FMDB的確認是否成功連到資料庫及建立資料表function
!!記得要在該swift檔中import FMDB!!
class Database : NSObject{
static let shared = Database()
var fileName: String = "Resume.db" // 資料庫名稱
var filePath: String = "" // 資料庫路徑
var database: FMDatabase!
private override init() {
super.init()
// 取得資料庫在Documents中的路徑
self.filePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)[0] + "/" + self.fileName
print("filePath: \(self.filePath)")
}
deinit {
print("deinit: \(self)")
}
// 判斷是否成功連線至資料庫
func connectDB() -> Bool {
var isConnect: Bool = false
self.database = FMDatabase(path: self.filePath)
if self.database != nil {
if self.database.open() {
isConnect = true
} else {
print("未連線至資料庫")
}
}
return isConnect
}
// 建立資料表
func createTable() {
let fileManager: FileManager = FileManager.default
// 判斷Documents是否存在該db檔
if !fileManager.fileExists(atPath: filePath) {
if self.connectDB() {
// 創建資料表的SQL語法
let createResumeTable = "CREATE TABLE RESUME(id Varchar(50) NOT NULL PRIMARY KEY,name Varchar(30) NOT NULL,age integer NOT NULL)"
self.database.executeStatements(createResumeTable)
print("成功建立資料表於\(self.filePath)")
}
} else {
print("檔案已存在於\(self.filePath)")
}
}
}
接著在你的App內呼叫createTable(),我自己是在初始畫面的viewDidLoad中呼叫的
如此一來就能成功建立資料庫檔案及資料表囉!
明天我們會來介紹資料庫的新增指令,那我們明天見囉!