2019-08-03 sqlite數(shù)據(jù)庫的使用

sqlite數(shù)據(jù)庫介紹:

文件數(shù)據(jù)庫:它可以將數(shù)據(jù)庫的所有表、索引、 視圖等存儲一個單獨(dú)的文件里


數(shù)據(jù)規(guī)模:

記錄數(shù)目 ? ? ? ? ? ?存儲方式

?100 –1萬 ? ? ? ? ? ? ?SQLite (本地文件)



使用場景:

假設(shè)有這樣一張表,統(tǒng)計(jì)每個用戶每天的登錄次數(shù)userinfo:

username??? time??? type??? count

張三???????????? 4號????? 1????????? 5

張三???????????? 6號????? 3????????? 4

張三???????????? 11號???? 1???????? 11

李四???????????? 11號???? 1????????? 9

其中type表示星期幾,count表示該天的登錄次數(shù),

比如第一條表示張三在4號(星期一)登錄了5次,

如果我們要計(jì)算某個用戶各個工作日的登錄次數(shù),可以用如下一條語句:

select sum(case when type=0 then count else 0 end) as sum_sunday,

? ? sum(case when type=1 then count else 0 end) as sum_monday,

? ? ...

? ? from userinfo where username='張三';



代碼使用:

1、DBHelper 繼承SQLiteOpenHelper

2、構(gòu)造函數(shù):

public DBHelper(Context context) {

super(context, DB_NAME, null, DB_VERSIONCODE);

}

public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {

super(context, name, factory, version);

}

public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {

super(context, name, factory, version, errorHandler);

}


3、實(shí)現(xiàn)onCreate方法,完成創(chuàng)表操作

@Override

public void onCreate(SQLiteDatabase db) {

//實(shí)現(xiàn)數(shù)據(jù)庫的創(chuàng)表操作

? ? String sql="create table "

? ? ? ? ? ? +TABLE_NAME +" (_id integer primary key autoincrement, "

? ? ? ? ? ? +CITY_NAME +" varchar,"

? ? ? ? ? ? +ROOM_TITLE+" text ,"

? ? ? ? ? ? +PRICE+" varchar) ";

? ? db.execSQL(sql);

}


4、實(shí)例化DBHelper對象,通過DBHelper對象調(diào)用getWritableDatabase()完成數(shù)據(jù)庫的創(chuàng)建

DBHelper dbHelper=new DBHelper(this);

SQLiteDatabase dbDataBase=dbHelper.getWritableDatabase();

5、數(shù)據(jù)庫的增刪改查

dbDataBase.insert();

dbDataBase.delete();

dbDataBase.update();

dbDataBase.query();


可以寫一個布局:

設(shè)置四個按鈕,每個按鈕對應(yīng)一個功能,測試數(shù)據(jù)庫的增刪改查。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容