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

來源:互聯網
上載者:User

標籤:date   資料庫更新   name   get   方式   let   建立   結束   base   

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.