【安卓9】SQLiteDatabase類、ContentValues 類
SQLiteDatabase類
android.database.sqlite.SQLiteDatabase類的實例都代表了一個SQLite數據庫的操作,通過SQLiteDatabase類可以執行SQL語句,以完成對數據表的增加、修改、刪除、查詢等操作,在此類之中定義了基本的數據庫執行SQL語句的操作方法以及一些操作的模式常量。
常量或方法 |
類型 |
描述 |
public static final int OPEN_READONLY |
常量 |
以只讀方式打開數據庫 |
public static final int OPEN_READWRITE |
常量 |
以讀/寫方式打開數據庫 |
public static final int CREATE_IF_NECESSARY |
常量 |
如果指定的數據庫文件不存在,則創建新的 |
public static final int NO_LOCALIZED_COLLATORS |
常量 |
打開數據庫時,不對數據進行機遇本地化語言的排序 |
public void beginTransaction() |
普通 |
開始事務 |
public void endTransaction() |
普通 |
結束事務,提交或者是回滾數據 |
public void close() |
普通 |
關閉數據庫 |
public void execSQL(String sql) |
普通 |
執行SQL語句 |
public void execSQL(String sql, Object[] bindArgs) |
普通 |
執行SQL語句,同時綁定參數 |
public static SQLiteDatabase openDatabase( String path, SQLiteDatabase.CursorFactory factory, int flags) |
普通 |
以指定的模式打開指定路徑下的數據庫文件 |
public static SQLiteDatabase openOrCreateDatabase File file, SQLiteDatabase.CursorFactory factory) |
普通 |
打開或者是創建一個指定路徑下的數據庫 |
public long insert(String table, String nullColumnHack, ContentValues values) |
普通 |
插入數據,table為表名稱,nullColumnHack表示傳入的valuesnull,則列被設為null,values表示所有要插入的數據 |
public long insertOrThrow(String table, String nullColumnHack, ContentValues values) |
普通 |
插入數據,但會拋出SQLException異常 |
public int update(String table, ContentValues values,String whereClause, String[] whereArgs) |
普通 |
修改數據,table為表名稱,values為更新數據,whereCluause指明WHERE子句,whereArgs為WHERE子句參數,用於替換“?” |
public int delete(String table, String whereClause, String[] whereArgs) |
普通 |
刪除數據,table為表名稱,whereClause指明WHERE子句,whereArgs為參數,用於替換“?” |
public boolean isOpen() |
普通 |
判斷數據庫是否是已打開 |
public void setVersion(int version) |
普通 |
設置數據庫的版本 |
public Cursor query (boolean distinct, String table, String[] columns, String selection, String[]selectionArgs,String groupBy, String having, String orderBy, String limit) |
普通 |
執行數據表查詢操作,其中的參數有distinct(是否去掉重復行)、table(表名稱)、columns(列名稱)、selection(WHERE子句)、selectionArgs(WHERE條件)、groupBy(分組)、having(分組過濾)、orderBy(排序)、limit(LIMIT子句) |
public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy , String having, String orderBy) |
普通 |
執行數據表查詢操作 |
public Cursor rawQuery(String sql, String[] selectionArgs) |
普通 |
執行指定的SQL查詢語句 |
ContentValues 類
ContentValues類包裝了HashMap類,該類用於存取鍵值對的數據,每個鍵值對表示一列的列名和該列的數據。
常用方法
1、 ContentValues();
作用:無參構造方法,創建一個內部成員變量為HashMap<String,Object>的對象。該成員變量名為 mValues
2、 void put(String key,Object value);
作用:向成員變量mValues中存放一個鍵-值對數據
提示:value可以是Java的所有基本數據類型、數組、對象的類型
3、 Object get(String key);
作用:獲取鍵名key對應的值。
4、 XXX getAsXXX(String key);
作用:返回XXX類型的值
提示:XXX可以是所有基本類型的包裝類
【安卓9】SQLiteDatabase類、ContentValues 類