1.自定義類繼承 SQLiteOpenHelper
我們應該重點掌握execSQL()和rawQuery()方法。 execSQL()方法可以執行insert、delete、update和CREATE TABLE之類有更改行為的SQL語句
rawQuery()方法用于執行select語句(按照指定條件去數據庫里查詢返回結果)?
SQLiteDatabase還專門提供了對應于添加、刪除、更新、查詢的操作方法:?
insert()、delete()、update()和query() 。這些方法實際上是給那些不太了解SQL語法的菜鳥使用的,對于熟悉SQL語法的程序員而言,直接使用execSQL()和rawQuery()方法執行SQL語句就能完成數據的添加、刪除、更新、查詢操作。
execSQL(String sql, Object[] bindArgs)方法的第一個參數為SQL語句,第二個參數為SQL語句中占位符參數的值,參數值在數組中的順序要和占位符的位置對應。
查詢 select語句
rawQuery()方法的第一個參數為select語句;第二個參數為select語句中占位符參數的值,如果select語句沒有使用占位符,該參數可以設置為null。帶占位符參數的select語句使用例子如下:
Insert()方法用于添加數據,各個字段的數據使用ContentValues進行存放。
delete()方法的使用:
update()方法的使用:
query()方法
實際上是把select語句拆分成了若干個組成部分,然后作為方法的輸入參數:
query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit)方法各參數的含義:
table:表名。相當于select語句from關鍵字后面的部分。如果是多表聯合查詢,可以用逗號將兩個表名分開。
columns:要查詢出來的列名。相當于select語句select關鍵字后面的部分。
selection:查詢條件子句,相當于select語句where關鍵字后面的部分,在條件子句允許使用占位符“?”
selectionArgs:對應于selection語句中占位符的值,值在數組中的位置與占位符在語句中的位置必須一致,否則就會有異常。
groupBy:相當于select語句group?by關鍵字后面的部分?
having:相當于select語句having關鍵字后面的部分?
orderBy:相當于select語句order?by關鍵字后面的部分,如:personid?desc,?age?asc;
limit:指定偏移量和獲取的記錄數,相當于select語句limit關鍵字后面的部分。