基于Android SQLite的使用介紹
在Android平臺中,集成了一個嵌入式關系型數(shù)據(jù)庫--SQLite,它支持NULL、INTEGER、REAL(浮點數(shù)字)、TEXT(字符串文本)和BLOB(二進制對象)數(shù)據(jù)類型,雖然只支持五種數(shù)據(jù)類型,實際上可以接受varchar(n),char(n),decimal(p,s)等數(shù)據(jù)類型,在進行運算或保存的時候會轉(zhuǎn)換成對應的五種數(shù)據(jù)類型。
ex: 可以在Integer類型的字段中存放字符串,或者在布爾類型字段中存放浮點數(shù),或者在字符型字段中存放日期,but!定義為INTEGER PRIMARY KEY的字段只能存儲64位整數(shù),另外,在編寫CREATE TABLE語句時,可以省略跟在字段名稱后面的數(shù)據(jù)類型;
create table person(personid integer primary key autoincrement,name varchar(20))//name的類型可省略;
select * from tablename where tiaojian group by 分組字句 having... order by 排序字句
select * from person
select * from person order by id desc/asc
select name from person group by name having count(*)>1
分頁:select * from Account limit 5 offset 3 或者 select * from Account limit3,5
插入語句:insert into tablename(字段列表) values(值列表)
insert into person(name,age) values("Livingstone",22)
更新語句:update tablename set field1=val1,field2=val2 where 條件語句
update person set name="Livingstone" where id = 10
刪除語句:delete from tablename where 條件語句
delete from person where id=10
獲取添加記錄后自增長的ID值:select last_insert_rowid()
SQLiteDatabase專門提供了對于添加、刪除、更新、查詢的操作方法:insert(),delete(),update()和query();
Insert()方法用于添加數(shù)據(jù),各個字段的數(shù)據(jù)使用ContentValues進行存放,ContentValues類似于MAP,相對于 MAP,它提供了存取數(shù)據(jù)對應的put(String key,Xxx value)和getAsXxx(String key)方法;
long rowid=db.insert("person",null,values);//返回新添記錄的行號,與主鍵id無關;
不管第三個參數(shù)是否包含數(shù)據(jù),執(zhí)行Insert()方法必然添加一條記錄,如果第三個參數(shù)為空,會添加一條除主鍵之外
其他字段值為Null的記錄,Insert()方法內(nèi)部其實是通過構造SQL語句完成數(shù)據(jù)的添加,第二個參數(shù)用于指定空值字段的名稱:如果第三個參數(shù)values為Null或者元素個數(shù)為0,由于Insert()方法要求必須添加一條除了主鍵之外其它字段為Null值的記錄,為了滿足SQL語法要求,insert語句必須給定一個字段名,ex:insert into person(name) values(NULL),若不給字段名,insert語句就為:insert into person() values(),對于字段名,建議使用主鍵之外的字段,如果使用了INTEGER類型的主鍵字段,執(zhí)行類似insert into person(personid) values(NULL)的insert語句后,該主鍵字段值也不會為NULL,若第三個參數(shù)values不為Null并且元素個數(shù)大于0,第二個參數(shù)設置為null。
- 基于Android SQLiteOpenHelper && CRUD 的使用
- Android開發(fā)之SQLite的使用方法
- android中使用SharedPreferences進行數(shù)據(jù)存儲的操作方法
- Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
- Android開發(fā)筆記之: 數(shù)據(jù)存儲方式詳解
- 在android開發(fā)中進行數(shù)據(jù)存儲與訪問的多種方式介紹
- Android使用SQLite數(shù)據(jù)庫的簡單實例
- Android 數(shù)據(jù)存儲方式有哪幾種
- Android數(shù)據(jù)存儲之SQLite使用
相關文章
Android開發(fā) 旋轉(zhuǎn)屏幕導致Activity重建解決方法
Android開發(fā)文檔上專門有一小節(jié)解釋這個問題。簡單來說,Activity是負責與用戶交互的最主要機制,接下來為您詳細介紹2012-11-11Android使用AsyncTask下載圖片并顯示進度條功能
這篇文章主要介紹了Android使用AsyncTask下載圖片并顯示進度條功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02Android實現(xiàn)院系專業(yè)三級聯(lián)動
這篇文章主要為大家詳細介紹了Android實現(xiàn)院系專業(yè)三級聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-03-03Android入門教程之RecyclerView的具體使用詳解
RecyclerView是Android一個更強大的控件,其不僅可以實現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實現(xiàn)數(shù)據(jù)縱向滾動,也可以實現(xiàn)橫向滾動(ListView做不到橫向滾動)。接下來講解RecyclerView的用法2021-10-10Android 開發(fā)使用PopupWindow實現(xiàn)加載等待界面功能示例
這篇文章主要介紹了Android 開發(fā)使用PopupWindow實現(xiàn)加載等待界面功能,結合實例形式分析了Android使用PopupWindow組件實現(xiàn)加載等待界面功能相關布局與功能實現(xiàn)技巧,需要的朋友可以參考下2020-05-05基于Android AppWidgetProvider的使用介紹
本篇文章小編為大家介紹,基于Android AppWidgetProvider的使用。需要的朋友參考下2013-04-04一文詳解Android無需權限調(diào)用系統(tǒng)相機拍照
這篇文章主要為大家介紹了Android無需權限調(diào)用系統(tǒng)相機拍照詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Android?Camera開發(fā)實現(xiàn)可復用的相機組件
這篇文章主要為大家詳細介紹了Android?Camera開發(fā)實現(xiàn)可復用的相機組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05