關於SQLite資料庫的那點事

2021-10-07 19:13:08 字數 2241 閱讀 4160

1.sqlite屬於輕型的資料庫,事物有四種屬性,原子性,一致性,隔離性,永續性。

2.在進行建立資料庫時候採用繼承sqliteopenhelper,然後實現其中的方法,在databasehelper方法中factory方法可以為null

3.在oncreate方法中執行sql語句建立資料庫。

4.資料庫中的四種操作前首先要進行開啟事務,並且建立資料庫sqlitedatabase。

(1)增加資料

通過建立contentvalues物件建立鍵值對,實現內容的增加,

db=databasehelper.

getwritabledatabase()

; string name=srxm.

gettext()

.tostring()

;//獲取輸入的名字

string phone=srsjh.

gettext()

.tostring()

;//獲取輸入的手機號

values=

newcontentvalues()

;//建立儲存資料的contentvalues類

values.

put(

"name"

,name)

; values.

put(

"phone"

,phone)

;//執行sql預計

db.insert

("information"

,null,values)

; log.d(

"my debug"

,"插入成功");

toast.

maketext

(this

,"您已新增"

,toast.length_short)

.show()

; db.

close()

;//關閉資料庫

(2)更新資料

在更新資料的時候同樣採用建立contentvalues物件的方法進行更新,並且通過.update更新方法進行更新

db=databasehelper.

getwritabledatabase()

;values=

newcontentvalues()

;values.

put(

"phone"

,srsjh.

gettext()

.tostring()

);db.update

("information"

,values,

"name=?"

,new

string

);//將資料進行更改

toast.

maketext

(this

,"資料更新成功"

,toast.length_short)

.show()

;log.d(

"my debug"

,"資料更新成功");

db.close()

;

(3)查詢資料

在查詢資料庫中內容的時候,通過建立cursor物件進行查詢,並且在進行查詢的時候要記得進行判斷資料庫中的資料行數,否則會報錯,並且在執行結束的時候關閉cursor物件,否則會造成記憶體溢位

db=databasehelper.

getreadabledatabase()

;//獲取讀物件

cursor cursor=db.

query

("information"

,null,null,null,null,null,null)

;//通過cursor物件查詢資料庫中的資料

if(cursor.

getcount()

==0)//判斷資料庫中的資料行數

else

while

(cursor.

movetonext()

)toast.

maketext

(this

,"資料已經查詢"

,toast.length_short)

.show()

;log.d(

"my debug"

,"資料查詢成功");

cursor.

close()

;db.

close()

;

關於資料庫優化的那點事

資料庫優化應從三方面來考慮 資料庫儲存分割槽 表索引 sql語句優化 今天這篇部落格主要是介紹表索引 建立索引原則 頻繁搜尋的列 經常排序的列 經常連線的列 指定單獨的表空間 不適合建立索引原則 表資料量小 僅包含幾個不同值的列 如 性別 增刪改資料表操作頻繁 增刪改效能要求高於查詢 表中匯入資料後...

資料庫那點事 Mysql 3

語句賞析 create table group id int primary key auto increment,name varchar 10 not null,max size int default 10 type varchar 10 not null check type in 研發組 ...

laravel和資料庫的那點事2

增刪改查 新增資料 使用db門面的insert方法執行插入語句。和select一樣,改方法將原生sql語句作為第乙個引數,將繫結作為第二個引數 db insert insert into users id,name values 1,dayle 修改資料 update方法用於更新資料庫中已存在的記錄...