
課程咨詢: 400-996-5531 / 投訴建議: 400-111-8989
認(rèn)真做教育 專心促就業(yè)
android數(shù)據(jù)庫(kù)學(xué)習(xí)基礎(chǔ),android數(shù)據(jù)庫(kù)怎么學(xué)?android中的應(yīng)用開發(fā)很難避免不去使用數(shù)據(jù)庫(kù),這次就和大家聊聊android中的數(shù)據(jù)庫(kù)操作。
一、android內(nèi)的數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)介
1.用了什么數(shù)據(jù)庫(kù)
android中采用的數(shù)據(jù)庫(kù)是SQLite這個(gè)輕量級(jí)的嵌入式開源數(shù)據(jù)庫(kù),它是用c語(yǔ)言構(gòu)建的。相關(guān)簡(jiǎn)介可以從鏈接查看。
2.數(shù)據(jù)庫(kù)基本知識(shí)觀花
對(duì)于一些和我一樣還沒有真正系統(tǒng)學(xué)習(xí)數(shù)據(jù)庫(kù)技術(shù)的同學(xué)來說,把SQL92標(biāo)準(zhǔn)中的一些基本概念、基本語(yǔ)句快速的了解一下,是很有必要的,這樣待會(huì)用Android的database相關(guān)方法去執(zhí)行一些數(shù)據(jù)庫(kù)語(yǔ)句時(shí)就不會(huì)茫然了。
①數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)——表格
表格是數(shù)據(jù)庫(kù)中儲(chǔ)存資料的基本架構(gòu)。表格被分為欄位 (column) 及列位 (row)。每一列代表一筆資料,而每一欄代表一筆資料的一部份。舉例來說,如果我們有一個(gè)記載顧客資料的表格,那欄位就有可能包括姓、名、地址、城市、國(guó)家、生日...等等。每一個(gè)表格擁有一個(gè)獨(dú)一無二的名字(Table Name)以便能夠讓用戶定位到它上面。一個(gè)典型的表格結(jié)構(gòu)如下:
Store_Information 表格
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
該表格的表格名字為Store_Information,一共有三個(gè)欄位,分別為store_name , Sales , Data ,已經(jīng)錄入了四筆數(shù)據(jù)所以有四個(gè)列位。
②關(guān)于數(shù)據(jù)類型
和其他的數(shù)據(jù)庫(kù)不同的是,sqlite是無類型的。也就是當(dāng)你創(chuàng)建一個(gè)表格時(shí),無需對(duì)每一個(gè)欄位要存儲(chǔ)的數(shù)據(jù)的類型進(jìn)行聲明,當(dāng)你在給表格增加數(shù)據(jù)條目時(shí),sqlite會(huì)自動(dòng)找到存入的數(shù)據(jù)的類型。
SQLite允許忽略數(shù)據(jù)類型,但是,仍然建議在Create Table語(yǔ)句中指定數(shù)據(jù)類型,因?yàn)閿?shù)據(jù)類型有利于增強(qiáng)程序的可讀性。SQLite支持常見的數(shù)據(jù)類型,如VARCHAR、NVARCHAR、TEXT、INTEGER、FLOAT、BOOLEAN、CLOB、BLOB、TIMESTAMP、NUMERIC、VARYING、CHARACTER、NATl0NAI, VARYINGCHARACTER。這些數(shù)據(jù)類型都是SQL92標(biāo)準(zhǔn)中規(guī)定的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)數(shù)據(jù)類型,想要有更近一步了解,請(qǐng)參看下表。
③數(shù)據(jù)庫(kù)的基本操作語(yǔ)句
其實(shí)這個(gè)還是SQL92標(biāo)準(zhǔn)中的一部分,只是不同的數(shù)據(jù)庫(kù)會(huì)有一點(diǎn)點(diǎn)的不同而已,下面就對(duì)在android中最常用的幾個(gè)操作語(yǔ)句給以概述,詳細(xì)介紹請(qǐng)參看SQL語(yǔ)句簡(jiǎn)單介紹。
(1)CREATE TABLE
由于創(chuàng)建一個(gè)表格,基本使用語(yǔ)法結(jié)構(gòu)是:
CREATE TABLE "表格名" ("欄位1" 保存資料類型 , "欄位3" 保存資料類型 , "欄位2" 保存資料類型 .....);
例如我要?jiǎng)?chuàng)建剛才的Store_Information表格,就可以這樣:
CREATE TABLE Store_Information (Store_Name char[50] , Sales long , Date date );
需要提示的是,這里還是聲明了數(shù)據(jù)類型。而且不難發(fā)現(xiàn),c語(yǔ)言構(gòu)建的sqlite自身也有一些c語(yǔ)言的性格(例如一個(gè)完整語(yǔ)句后的分號(hào))。
(2)SELECT
用于將資料從數(shù)據(jù)庫(kù)中的表格內(nèi)選出,基本語(yǔ)法結(jié)構(gòu)為:
SELECT "欄位名" FROM "表格名" ;
例如我想將 Store_Information 里面的store_name 選出,則可以這樣:
SELECT store_name FROM Store_Information ;
這句執(zhí)行后就會(huì)顯示如下的信息:
store_name
Los Angeles
San Diego
Los Angeles
Boston
好了,效果一目了然。
(3)SELECT語(yǔ)句可以添加條件來縮小選擇結(jié)果:
去掉重復(fù)的結(jié)果:
SELECT DISTINCT "欄位名" FROM "表格名"
例如將剛才的語(yǔ)句改為:
SELECT DISTINCT store_name FROM Store_Information ;
則顯示的結(jié)果為:
store_name
Los Angeles
San Diego
Boston
實(shí)現(xiàn)有條件的篩選:
SELECT "欄位名" FROM "表格名" WHERE "條件語(yǔ)句" ;
條件語(yǔ)句和c語(yǔ)言中的類似,只不過用AND表示“且”,OR表示“或”。
例如對(duì)表執(zhí)行如下語(yǔ)句:
SELECT store_name FROM Store_Information WHERE Sales > 1000 ;
則顯示結(jié)果為
store_name
Los Angeles
其中WHERE語(yǔ)句用的較多,因?yàn)樗梢詫?shí)現(xiàn)自定義條件的使用和多條件的組合
(4)INSERT INTO
在表格中加入資料——可以實(shí)現(xiàn)一筆的加入和多筆的加入。
加入一筆:
INSERT INTO "表格名" ("欄位1", "欄位2", ...) VALUES ("值1", "值2", ...);
加入多筆:
INSERT INTO "待加入數(shù)據(jù)的表格" ("欄位1", "欄位2", ...) SELECT "欄位3", "欄位4", ... FROM "被加入的表格" ;
加入多筆其實(shí)就是將另一個(gè)表格加入到現(xiàn)有表格中。
(5)UPDATE
用于修改表格中的數(shù)據(jù),語(yǔ)法結(jié)構(gòu)為:
UPDATE "表格名" SET "欄位1" = [新值] WHERE {條件};
例如:
UPDATE Store_Information SET Sales = 500 WHERE store_name = "Los Angeles" AND Date = "Jan-08-1999" ;
具體是什么意思的話就不說了,你懂的~~~
(6)DELETE FROM
刪除表格中的某些數(shù)據(jù),語(yǔ)法結(jié)構(gòu)為:
DELETE FROM "表格名" WHERE {條件} ;
滿足條件的所有資料都會(huì)被刪除掉。
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!