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