今天講的是關於SQLite的使用:
包括:
1.創建數據庫;
2.創建表;
3.插入數據;
4.修改數據;
5.刪除數據;
6.查詢數據;
直接附上代碼(註釋附在代碼裏):
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//創建數據庫stu.db;
SQLiteDatabase db = openOrCreateDatabase("stu.db",MODE_PRIVATE,null);
//創建表;
db.execSQL("create table if not exists stutb(_id integer primary key autoincrement ,name text not null,sex text not null,age integer not null)");
//創建ContentValues對象,該對象是鍵值對存儲,Key爲表的字段,Values爲值;
ContentValues values = new ContentValues();
//類似HashMap,鍵值對存儲,使用put插入;
values.put("name","張三");
values.put("sex","男");
values.put("age",15);
//向表中插入數據,返回值類型是long插入的索引值,第一個參數是表的名字,
// 第二個我設爲null,第三個就是ContentValues的對象;
long rowId = db.insert("stutb",null,values);
Log.i("info","rowId = "+rowId);
//清空ContentValues對象中的值,爲下次使用做準備;
values.clear();
//以下插入多條數據;
values.put("name","李四");
values.put("sex","男");
values.put("age",19);
db.insert("stutb",null,values);
values.clear();
values.put("name","王五");
values.put("sex","男");
values.put("age",17);
db.insert("stutb",null,values);
values.clear();
values.put("name","趙六");
values.put("sex","男");
values.put("age",29);
db.insert("stutb",null,values);
values.clear();
values.put("name","林琳七");
values.put("sex","女");
values.put("age",19);
db.insert("stutb",null,values);
values.clear();
//修改,將所有id小於3的性別改成“女”;
values.put("sex","女");
db.update("stutb",values,"_id<?",new String[]{"3"});
//刪除;將名字包含“王”的行刪去,其中%爲佔位符;
db.delete("stutb","name like ?",new String[]{"%王%"});
//查詢,返回值是Cursor的對象,即一個遊標;
//第一個參數是表名字,第二個我設置爲空,第三個和第四個查詢條件,最後一個是按"_id"字段排序;
Cursor cursor = db.query("stutb",null,"_id>?",new String[]{"0"},null,null,"_id");
if (cursor!=null){
//獲取cursor的索引值,即所有的字段;
String[] columnNames = cursor.getColumnNames();
while (cursor.moveToNext()){
//遍歷獲取到表的每個字段的值
for(String columnName:columnNames){
Log.i("info",cursor.getString(cursor.getColumnIndex(columnName)));
}
}
//關閉遊標;
cursor.close();
}
//關閉數據庫;
db.close();
}
以下是源碼(百度網盤,Android studio編寫):