sqflite 官方使用教程

sqflite 1.2.0

2019年12月16日?發(fā)布???tekartik.com?

插件地址:?sqflite

支持

Flutter的?SQLite插件。支持iOS,Android 和 MacOS。

支持交易和批次

打開期間自動版本管理

插入/查詢/更新/刪除查詢的助手

在iOS和Android的后臺線程中執(zhí)行的數(shù)據(jù)庫操作

入門

在flutter項目中添加依賴項:

用法示例

引用?sqflite.dart

打開數(shù)據(jù)庫

SQLite數(shù)據(jù)庫是文件系統(tǒng)中由路徑標(biāo)識的文件。如果是相對路徑,則該路徑相對于所獲得的路徑,該路徑是getDatabasesPath()Android上的默認(rèn)數(shù)據(jù)庫目錄和iOS上的documents目錄。

var db = await openDatabase('my_db.db');

有一個基本的遷移機制可以處理打開期間的模式更改。

許多應(yīng)用程序使用一個數(shù)據(jù)庫,并且永遠(yuǎn)不需要關(guān)閉它(當(dāng)應(yīng)用程序終止時,它將關(guān)閉)。如果要釋放資源,可以關(guān)閉數(shù)據(jù)庫。

await db.close();

原始SQL查詢

演示代碼執(zhí)行原始SQL查詢

SQL助手

使用助手的示例


讀取結(jié)果

假設(shè)有以下讀取結(jié)果:

生成的地圖項為只讀

如果要在內(nèi)存中進(jìn)行修改,則需要創(chuàng)建一個新地圖:

不使用數(shù)據(jù)庫,而僅在事務(wù)中使用Transaction對象訪問數(shù)據(jù)庫

如果回調(diào)未引發(fā)錯誤,則提交事務(wù)。如果拋出錯誤,則交易被取消。因此,回滾事務(wù)的一種方法是引發(fā)異常。

為了避免在Dart和本機代碼之間進(jìn)行乒乓球,可以使用Batch:

獲得每個操作的結(jié)果是有成本的(插入的ID以及更新和刪除的更改數(shù)),尤其是在執(zhí)行額外SQL請求的Android上。如果您不關(guān)心結(jié)果而擔(dān)心大批量的性能,則可以使用

注意,在事務(wù)處理期間,直到事務(wù)提交后,才會提交批處理

默認(rèn)情況下,批處理在遇到錯誤后立即停止(通常會還原未提交的更改)。您可以忽略錯誤,以便即使一個操作失敗也可以運行并落實每個成功的操作:

表和列名

通常,最好避免對實體名稱使用SQLite關(guān)鍵字。如果使用以下任何名稱:

"add","all","alter","and","as","autoincrement","between","case","check","collate","commit","constraint","create","default","deferrable","delete","distinct","drop","else","escape","except","exists","foreign","from","group","having","if","in","index","insert","intersect","into","is","isnull","join","limit","not","notnull","null","on","or","order","primary","references","select","set","table","then","to","transaction","union","unique","update","using","values","when","where"

助手將逃避這個名字,即

將等同于在表名周圍手動添加雙引號(此處令人困惑,名為table)

然而,在任何其他原料陳述(包括orderBy,where,groupBy),確保正確轉(zhuǎn)義名稱中使用雙引號。例如,請參見下面的內(nèi)容,其中的列名group未在columns參數(shù)中轉(zhuǎn)義,但在where參數(shù)中轉(zhuǎn)義。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容