1、使用insert方法插入記錄
SQLiteDatabase的insert方法的簽名為longinsert(Stringtable,StringnullColumnHack,ContentValuesvalues),這個插入方法的引數說明如下:
table:代表想插入資料的表名。
nullColumnHack:代表強行插入null值的資料列的列名。
values:代表一行記錄的資料。
insert方法插入的一行記錄使用ContentValues存放,ContentValues類似於Map,它提供了put(Stringkey,Xxxvalue)(其中key為資料列的列名)方法用於存入資料、getAsXxx(Stringkey)方法用於取出資料。
例如如下語句:
ContentValuesvalues=newContentValues();
values.put("age",500);
//返回新添記錄的行號,該行號是一個內部直,與主鍵id無關,發生錯誤返回-1
longrowid=db.insert("person_inf",null,values);
2、使用update方法更新資料
SQLiteDatabase的update方法簽名為update(Stringtable,ContentValuesvalues,StringwhereClause,String[]whereArgs),這個更新方法的引數說明如下:
table:代表想要更新資料的表名。
values:代表想要更新的資料。
whereClause:滿足該whereClause子句的記錄將會被更新。
whereArgs:用於為whereArgs子句傳遞引數。
例如我們想要更新person_inf表中所有主鍵大於20的人的人名,可呼叫如下方法:
//存放更新後的人名
values.put("name","新人名");
intresult=db.update("person_inf",values,"_id>?",newInteger[]{20});
whereArgs:用於為whereArgs子句傳入引數。
intresult=db.delete("person_inf","person_namelike?",newString[]{"孫_"});
4、使用query方法查詢記錄
SQLiteDatabase的query方法簽名為Cursorquery(booleandistinct,Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy,Stringlimit),這個query方法的引數說明如下。
distinct:指定是否去除重複記錄。
table:執行查詢資料的表名。
columns:要查詢出來的列名。
selection:查詢條件子句。
selectionArgs:用於為selection子句中佔位符傳入引數值,值在陣列中的位置與佔位符在語句中的位置必須一致,否則就會有異常。
groupBy:用於控制分組。
having:用於對分組進行過濾。
orderBy:用於對記錄進行排序。
limit:用於進行分頁。
例如查詢出person_inf表中人名以孫開頭的資料
Cursorcursor=db.query("person_inf",newString[]{"_id,name,age"},"namelike?",newString[]{"孫%"},null,null,"personiddesc","5,10");
cursor.close();
1、使用insert方法插入記錄
SQLiteDatabase的insert方法的簽名為longinsert(Stringtable,StringnullColumnHack,ContentValuesvalues),這個插入方法的引數說明如下:
table:代表想插入資料的表名。
nullColumnHack:代表強行插入null值的資料列的列名。
values:代表一行記錄的資料。
insert方法插入的一行記錄使用ContentValues存放,ContentValues類似於Map,它提供了put(Stringkey,Xxxvalue)(其中key為資料列的列名)方法用於存入資料、getAsXxx(Stringkey)方法用於取出資料。
例如如下語句:
ContentValuesvalues=newContentValues();
values.put("age",500);
//返回新添記錄的行號,該行號是一個內部直,與主鍵id無關,發生錯誤返回-1
longrowid=db.insert("person_inf",null,values);
2、使用update方法更新資料
SQLiteDatabase的update方法簽名為update(Stringtable,ContentValuesvalues,StringwhereClause,String[]whereArgs),這個更新方法的引數說明如下:
table:代表想要更新資料的表名。
values:代表想要更新的資料。
whereClause:滿足該whereClause子句的記錄將會被更新。
whereArgs:用於為whereArgs子句傳遞引數。
例如我們想要更新person_inf表中所有主鍵大於20的人的人名,可呼叫如下方法:
ContentValuesvalues=newContentValues();
//存放更新後的人名
values.put("name","新人名");
intresult=db.update("person_inf",values,"_id>?",newInteger[]{20});
whereArgs:用於為whereArgs子句傳入引數。
intresult=db.delete("person_inf","person_namelike?",newString[]{"孫_"});
4、使用query方法查詢記錄
SQLiteDatabase的query方法簽名為Cursorquery(booleandistinct,Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy,Stringlimit),這個query方法的引數說明如下。
distinct:指定是否去除重複記錄。
table:執行查詢資料的表名。
columns:要查詢出來的列名。
selection:查詢條件子句。
selectionArgs:用於為selection子句中佔位符傳入引數值,值在陣列中的位置與佔位符在語句中的位置必須一致,否則就會有異常。
groupBy:用於控制分組。
having:用於對分組進行過濾。
orderBy:用於對記錄進行排序。
limit:用於進行分頁。
例如查詢出person_inf表中人名以孫開頭的資料
Cursorcursor=db.query("person_inf",newString[]{"_id,name,age"},"namelike?",newString[]{"孫%"},null,null,"personiddesc","5,10");
cursor.close();