Android對SQLite的"增刪改查"

大學期間一直想寫一下Android對SQLite的使用,不知道爲什麼一直沒寫,大概是懶吧,畢業前簡直玩瘋了。工作以後,公司給我一個Android版的APP,讓我開發一個一樣功能的iOS版APP,Demo中有用到SQLite,但是一個記住登錄密碼的Flag和密碼竟然要用到SQLite?好像有點大材小用的感覺,個人拙見SharedPreferences(偏好設置)好像就夠用了。
不過這並不影響我要嘗試着寫一下SQLite的決心,目標是要有的,萬一哪天心血來潮去實現了呢。好了,閒話少說,開始我的SQLite Demo。
我用的Android Studio,畢竟要隨波逐流,不然要被淘汰了。查看數據庫的軟件是SQLite Expert Personal 4.x 傳送門:http://www.sqliteexpert.com/download.html
首先,我們新建一個Android Project,這點就不在細說,還是那句話,能玩到SQLite的人,新建個工程應該不是問題。這裏還有一點,就是Android不需要像Java工程一樣,添加SQLite.jar。這個是可以直接用的。
第一步,新建表格
圖片描述
如圖,數據庫的名字叫Zhan.db,然後打開這個數據庫,並設定一些限制。隨後如果數據庫中有ichampion這個表格的話,不管三七二十一先刪除,再創建一個ichampion表格,這裏有一句“IF NOT EXISTS”解釋一下,這句話的意思是先檢查數據庫裏面有沒有這個表格,如果沒有就創建,已經有了的話就跳過執行這條命令。同理,上面刪除的命令,“IF EXISTS”則是檢查是否存在ichampion表格,如果存在就刪除。創建完表格後,設定_id爲主鍵,屬性AUTOINCREMENT爲自動增長,這點之前一篇博客《Java對SQLite的”增刪改查”》也寫了作用了。_id後面跟兩個字段,name和age。
本Demo只是簡單的對SQLite進行操作,所以所有功能寫成函數調用,這樣比較直觀。首先執行OpenCreateDB()。然後我們打開Android Device Monitor
圖片描述
就會出現模擬器的文件管理器,找到data文件夾下的data文件夾
圖片描述
找到工程名的文件,打開database就能看到剛剛新建的Zhan.db了
圖片描述
然後選擇右上角箭頭所指的圖標,把Zhan.db導出到自己知道的位置
圖片描述
用SQLite Expert Personal 4.1打開Zhan.db,可以看到裏面有一個是Android默認存在的表格(我們就忽略它了),一個是程序創建的表格ichampion,裏面有_id,name,age。
圖片描述
接下來就是插入數據,這裏用了5種方式兩大格式,都是可以的,看個人喜好來寫,如果數據量大,可以用for循環寫入數據。因爲_id是自動增長的,所以_id就算爲空(不寫或者寫null)也可以。當然也可以設定_id的值。
圖片描述
查看insert結果
圖片描述
有了數據以後,就要想着更新數據了,這裏就更新兩個數據,同樣用兩種語法
圖片描述
可以看到_id等於2的那條記錄name由ichampion變成了ichampionT,名爲xyz的記錄age變成了6.
圖片描述
有更新的數據,肯定也有不再需要的數據,所以要delete
圖片描述
就這樣刪除了一條name=xyz的記錄
圖片描述
當然,有時候程序肯定還要做一些特別的事情,比如分分類什麼的,例如下面這個,查看大於10歲的人,根據上圖得知,我們刪除了一條記錄,還剩4條,其中ichampionT和Michael Zhan是大於10歲的。
圖片描述
打印輸出兩條記錄:_id、name、age
圖片描述
最後我們也不排除需要查看整個表格數據內容的情況,所以需要全部獲取
圖片描述
結果,輸出所有記錄
圖片描述
用完數據庫不要忘記關閉,節約系統資源。
圖片描述
最後,在補充一些SQL語句

圖片描述

本文代碼參考:鄭海波(莫川)的CSDN博客 http://blog.csdn.net/nupt123456789/article/details/7891887
本文資料參考:深海的博客 http://blog.sina.com.cn/s/blog_63537a150100sthf.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章