歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android操作嵌入式關系型SQLite數據庫

Android操作嵌入式關系型SQLite數據庫

日期:2017/3/1 11:17:32   编辑:Linux編程

SQLite特點

1.Android平台中嵌入了一個關系型數據庫SQLite,和其他數據庫不同的是SQLite存儲數據時不區分類型

例如一個字段聲明為Integer類型,我們也可以將一個字符串存入,一個字段聲明為布爾型,我們也可以存入浮點數。

除非是主鍵被定義為Integer,這時只能存儲64位整數

2.創建數據庫的表時可以不指定數據類型,例如:

CREATE TABLEperson(id INTEGER PRIMARY KEY, name)

3.SQLite支持大部分標准SQL語句,增刪改查語句都是通用的,分頁查詢語句和MySQL相同

SELECT * FROMperson LIMIT 20 OFFSET 10

SELECT * FROMperson LIMIT 20,10

創建數據庫

1.定義類繼承SQLiteOpenHelper

2.聲明構造函數,4個參數

3.重寫onCreate()方法

4. 重寫upGrade()方法

示例:

  1. package cn.itcast.sqlite;
  2. import android.content.Context;
  3. import android.database.sqlite.SQLiteDatabase;
  4. import android.database.sqlite.SQLiteOpenHelper;
  5. import android.database.sqlite.SQLiteDatabase.CursorFactory;
  6. public class DBOpenHelper extends SQLiteOpenHelper {
  7. /**
  8. * 創建OpenHelper
  9. * @param context 上下文
  10. * @param name 數據庫名
  11. * @param factory 游標工廠
  12. * @param version 數據庫版本, 不要設置為0, 如果為0則會每次都創建數據庫
  13. */
  14. public DBOpenHelper(Context context, String name, CursorFactory factory, int version) {
  15. super(context, name, factory, version);
  16. }
  17. /**
  18. * 當數據庫第一次創建的時候被調用
  19. */
  20. public void onCreate(SQLiteDatabase db) {
  21. db.execSQL("CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name)");
  22. }
  23. /**
  24. * 當數據庫版本發生改變的時候被調用
  25. */
  26. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  27. db.execSQL("ALTER TABLE person ADD balance");
  28. }
  29. }
  1. public void testCreateDB() {
  2. DBOpenHelper helper = new DBOpenHelper(getContext(), "itcast.db", null, 2);
  3. helper.getWritableDatabase(); // 創建數據庫
  4. }
Copyright © Linux教程網 All Rights Reserved