SQLite -- 嵌入式關係型資料庫

來源:互聯網
上載者:User

標籤:android   sqlite   sqliteopenhelper   sqlitedatabase   cursor   

SQLite -- 嵌入式關係型資料庫1,SQLite的資料類型:Typelessness(無類型)1,可以儲存任何類型的資料到表的任意列中2,支援常見的類型如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB等3,唯一的例外:integer primary key 此欄位只能儲存64位整數,即當主鍵被定義為integer時只能儲存64位整數注意:SQLite資料庫中列一旦建立不能修改,如果一定要修改,需要重新建立表,拷貝資料2,Android提供了一個SQLiteOpenHelper抽象類別,該類用於管理資料庫的版本,常用的3個方法:onCreate資料庫建立時執行(第一次串連資料庫,擷取資料庫物件時執行)註:資料庫什麼時候建立?第一次串連資料庫時建立資料庫(檔案),此時onCreate會被調用openHelper.getReadableDatabase();openHelper.getWritableDatebase();getReadableDatabase()和getWritableDatabase()的區別:查看原始碼可知:getReadableDatabase()在通常情況下返回的就是getWritableDatabase()拿到的資料庫,只有在拋出異常的時候才會以唯讀方式開啟onUpgrade資料庫更新時執行(一般每次更新時都要修改版本號碼)onOpen資料庫每次開啟時執行(每次開啟資料庫時調用,在onCreate,onUpgrade方法之後)3,Android提供了一個SQLiteDatabase類,使用該類可以對資料進行CRUD的操作註:和JDBC訪問資料庫不同,操作SQLite資料庫無需載入驅動,不用擷取串連,直接使用SQLiteDatabase對象執行SQL語句execSQL(String sql)方法可以執行insert、delete、update和CREATE TABLE之類有更改行為的SQL語句;execSQL(String sql, Object[] bindArgs)方法的第一個參數為SQL語句,第二個參數為SQL語句中預留位置參數的值,參數值在數組中的順序要和預留位置的位置對應。rawQuery()方法用於執行select語句。SQLiteDatabase還封裝了 insert()、delete()、update()、query()4個方法,也可以對資料庫進行操作Cursor是結果集遊標,用於對結果集進行隨機訪問,Cursor與JDBC中的ResultSet作用一樣。使用moveToNext()方法可以將遊標從當前行移動到下一行,如果已經移過了結果集的最後一行,返回結果為false,否則為true。SQLiteDatabase中的事務控制:beginTransaction() 開啟事務setTransactionSuccessful() 設定事務成功標記endTransaction() 結束事務註:endTransaction()需要放在finally中執行,否則事務只有到逾時的時候才自動結束,會降低資料庫並發效率

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

SQLite -- 嵌入式關係型資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.