Android筆記之SQLite

一、定義:一種輕量級的數據庫,支持結構化查詢語言
二、在Android中的應用
1.SQLiteOpenHelper
①onCreate():當第一次運行時調用此方法,如果數據庫已存在則不調用,不存在則調用,一般寫一些創建數據庫的語句
②onUpgrade():當數據庫版本升級後會調用此方法,版本號從1開始,然後2,3...,一般會執行刪除表等操作
③onDowngrade():當數據庫版本降級後調用此方法
④onOpen():當打開數據庫後會調用此方法
2.SQLiteDatabases
該類封裝了一些執行SQL命令的方法,比如insert、query、exeSQL等
(1)insert(String table,String nullColumnHack,ContentValues values)
Sql=INSERT INTO tableName(_id,name) VALUES(1,'TOM');
table:數據庫中的表名
nullColumnHack:插入值爲NULL的字段,注意:ContentValue對象僅初始化不能put。
values:表示插入字段所對應的值,使用put方法
(2)query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
Sql= Distinct tableName _id,name,...  WHERE _id=? name=? GROUPBY HAVING ORDERBY
distinct:結果集無重複
table:指的是表名
columns:所要查詢的字段
selection:條件子句
selectionArgs:給出條件子句的值,即?部分,例如:new String[]{1,'張三'}
groupBy:給查詢結果分組
having:爲組設置having
orderBy:對查詢結果進行排序,NULL爲默認排序
limit:返回固定結果的條目數,即分頁
※Cursor:返回一個結果集,內置移動遊標等方法,獲取結果集中的值
①取值之前要移動遊標,一般爲moveToFirst
②獲取值getXXX(int columnIndex)
 columnIndex  = curcor.getColumnIndexOrThrow("字段名")
(3)update((String table, ContentValues values, String whereClause, String[] whereArgs))
Sql= UPDATE tableName SET _id=1,name='張三' WHERE _id=2
table:數據庫的表名
values:代表要修改的值,修改方法還是put(key,values)
whereClause:條件子句,比如id=? AND name=?
whereArgs:爲whereClause中的?賦值,比如:new String[]{"1","張三"}
(4)delete(String table, String whereClause, String[] whereArgs)
Sql=DELETE FROM tableName WHERE _id=1
table:數據庫的表名
whereClause:where子句,比如:_id=?
whereArgs:where子句中?的值


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章