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()方法
示例:
- package cn.itcast.sqlite;
-
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.database.sqlite.SQLiteDatabase.CursorFactory;
-
- public class DBOpenHelper extends SQLiteOpenHelper {
-
- /**
- * 創建OpenHelper
- * @param context 上下文
- * @param name 數據庫名
- * @param factory 游標工廠
- * @param version 數據庫版本, 不要設置為0, 如果為0則會每次都創建數據庫
- */
- public DBOpenHelper(Context context, String name, CursorFactory factory, int version) {
- super(context, name, factory, version);
- }
-
- /**
- * 當數據庫第一次創建的時候被調用
- */
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name)");
- }
-
- /**
- * 當數據庫版本發生改變的時候被調用
- */
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- db.execSQL("ALTER TABLE person ADD balance");
- }
- }
- public void testCreateDB() {
- DBOpenHelper helper = new DBOpenHelper(getContext(), "itcast.db", null, 2);
- helper.getWritableDatabase(); // 創建數據庫
- }