课程咨询: 400-996-5531 / 投诉建(jian)议(yi): 400-111-8989
认真(zhen)做(zuo)教育 专(zhuan)心促就业
学习(xi)基础,android数(shu)据库(ku)怎么学?android中的(de)应用开发很难(nan)避免不去使用数(shu)据库(ku),这次就(jiu)和大家聊(liao)(liao)聊(liao)(liao)android中的(de)数(shu)据库(ku)操作(zuo)。
一、android内的数据库的基础知识介
1.用了什(shen)么(me)数据库
android中采用的数(shu)据(ju)库(ku)是ite这个(ge)轻(qing)量级的嵌入式开源数(shu)据(ju)库(ku),它是用c语言构建的。相关简(jian)介可以从链接查看(kan)。
2.数据库基本知识(shi)观花
对于(yu)一(yi)些和(he)我一(yi)样(yang)还(hai)没有(you)真正系统学习(xi)数据库技术(shu)的(de)同学来说,把SQL92标准中的(de)一(yi)些基本概念、基本语(yu)句快速的(de)了(le)解一(yi)下,是很有(you)必(bi)要的(de),这样(yang)待会用Android的(de)database相(xiang)关方法(fa)去(qu)执行一(yi)些数据库语(yu)句时(shi)就(jiu)不会茫然了(le)。
①数据库的基本结构——表格
表格是数(shu)据库中储存资料(liao)(liao)(liao)的(de)基本架构(gou)。表格被分为栏位 (column) 及列(lie)位 (row)。每(mei)(mei)一(yi)(yi)(yi)(yi)(yi)列(lie)代(dai)表一(yi)(yi)(yi)(yi)(yi)笔资料(liao)(liao)(liao),而(er)每(mei)(mei)一(yi)(yi)(yi)(yi)(yi)栏代(dai)表一(yi)(yi)(yi)(yi)(yi)笔资料(liao)(liao)(liao)的(de)一(yi)(yi)(yi)(yi)(yi)部份(fen)。举例来(lai)说,如果我们有(you)一(yi)(yi)(yi)(yi)(yi)个(ge)记(ji)载顾客资料(liao)(liao)(liao)的(de)表格,那栏位就(jiu)有(you)可能包(bao)括姓、名、地址(zhi)、城市、国家、生日...等(deng)等(deng)。每(mei)(mei)一(yi)(yi)(yi)(yi)(yi)个(ge)表格拥有(you)一(yi)(yi)(yi)(yi)(yi)个(ge)独一(yi)(yi)(yi)(yi)(yi)无二的(de)名字(Table Name)以便能够(gou)让用(yong)户定位到它上面。一(yi)(yi)(yi)(yi)(yi)个(ge)典(dian)型的(de)表格结构(gou)如下(xia):
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,一共有三个(ge)栏位(wei),分别为store_name , Sales , Data ,已经录入了四(si)(si)笔数据(ju)所以(yi)有四(si)(si)个(ge)列位(wei)。
②关于数据类型
和(he)其他的(de)(de)数(shu)据(ju)库不(bu)同的(de)(de)是(shi),sqlite是(shi)无类(lei)型(xing)(xing)的(de)(de)。也(ye)就是(shi)当你(ni)创建一个表格时,无需对每(mei)一个栏位要(yao)存储的(de)(de)数(shu)据(ju)的(de)(de)类(lei)型(xing)(xing)进行声明,当你(ni)在给表格增加数(shu)据(ju)条目时,sqlite会自(zi)动找到存入(ru)的(de)(de)数(shu)据(ju)的(de)(de)类(lei)型(xing)(xing)。
SQLite允许忽(hu)略数(shu)据(ju)(ju)类型(xing)(xing),但是,仍(reng)然建议在Create Table语句(ju)中指定数(shu)据(ju)(ju)类型(xing)(xing),因为数(shu)据(ju)(ju)类型(xing)(xing)有利于增强程(cheng)序的可读(du)性。SQLite支持常见的数(shu)据(ju)(ju)类型(xing)(xing),如(ru)VARCHAR、NVARCHAR、TEXT、INTEGER、FLOAT、BOOLEAN、CLOB、BLOB、TIMESTAMP、NUMERIC、VARYING、CHARACTER、NATl0NAI, VARYINGCHARACTER。这些(xie)数(shu)据(ju)(ju)类型(xing)(xing)都是SQL92标准中规(gui)定的标准数(shu)据(ju)(ju)库(ku)数(shu)据(ju)(ju)类型(xing)(xing),想要有更(geng)近一步了解,请参(can)看下(xia)表。
③数(shu)据(ju)库(ku)的基本(ben)操作语句(ju)
其实(shi)这(zhei)个(ge)还是SQL92标(biao)准(zhun)中的一(yi)部分,只(zhi)是不(bu)同(tong)(tong)的数据库会(hui)有一(yi)点(dian)点(dian)的不(bu)同(tong)(tong)而已,下面就对(dui)在android中最常用的几个(ge)操作语句给以(yi)概述,详(xiang)细介绍请参看SQL语句简单介绍。
(1)CREATE TABLE
由于创建(jian)一个表(biao)格,基本使用语法结构是(shi):
CREATE TABLE "表格名" ("栏(lan)位1" 保存资(zi)料类(lei)型 , "栏(lan)位3" 保存资(zi)料类(lei)型 , "栏(lan)位2" 保存资(zi)料类(lei)型 .....);
例如(ru)我要创建刚才的Store_Information表(biao)格,就可以这(zhei)样:
CREATE TABLE Store_Information (Store_Name char[50] , Sales long , Date date );
需要提示的是(shi),这里还是(shi)声明了(le)数(shu)据类型。而且不难发现,c语(yu)言(yan)构建的sqlite自身也有(you)一(yi)些(xie)c语(yu)言(yan)的性格(例如一(yi)个完(wan)整语(yu)句后(hou)的分号)。
(2)SELECT
用于(yu)将资料从数据库中的表格内选出,基(ji)本语法结(jie)构为(wei):
SELECT "栏位名(ming)" FROM "表格名(ming)" ;
例如我(wo)想(xiang)将 Store_Information 里面的(de)store_name 选出(chu),则可(ke)以这(zhei)样:
SELECT store_name FROM Store_Information ;
这句执行后就(jiu)会显示如下的信息:
store_name
Los Angeles
San Diego
Los Angeles
Boston
好了(le),效(xiao)果一目了(le)然(ran)。
(3)SELECT语句可以添加条(tiao)件来缩小选择结果:
去掉(diao)重复(fu)的结果:
SELECT DISTINCT "栏位(wei)名" FROM "表(biao)格名"
例(li)如(ru)将刚(gang)才的语句(ju)改为(wei):
SELECT DISTINCT store_name FROM Store_Information ;
则显示的结果为:
store_name
Los Angeles
San Diego
Boston
实现有(you)条件的筛选(xuan):
SELECT "栏位名" FROM "表格名" WHERE "条件(jian)语(yu)句" ;
条件语句和(he)c语言中的类似,只不过用AND表示“且”,OR表示“或”。
例(li)如对表执行如下语(yu)句:
SELECT store_name FROM Store_Information WHERE Sales > 1000 ;
则显示结果为
store_name
Los Angeles
其中WHERE语句用的较多(duo),因(yin)为它可以实现自定义条件的使用和多(duo)条件的组合
(4)INSERT INTO
在表格中加入资料——可以实现一笔(bi)的(de)加入和多笔(bi)的(de)加入。
加入一笔:
INSERT INTO "表格(ge)名" ("栏(lan)(lan)位(wei)1", "栏(lan)(lan)位(wei)2", ...) VALUES ("值1", "值2", ...);
加入多笔:
INSERT INTO "待加入数据(ju)的表(biao)格(ge)" ("栏(lan)位1", "栏(lan)位2", ...) SELECT "栏(lan)位3", "栏(lan)位4", ... FROM "被加入的表(biao)格(ge)" ;
加(jia)入(ru)多笔其实(shi)就是(shi)将(jiang)另(ling)一个(ge)表(biao)格(ge)加(jia)入(ru)到现有表(biao)格(ge)中。
(5)UPDATE
用于(yu)修(xiu)改表(biao)格中的数(shu)据,语法结构为(wei):
UPDATE "表格名" SET "栏(lan)位1" = [新值(zhi)] WHERE {条件};
例如:
UPDATE Store_Information SET Sales = 500 WHERE store_name = "Los Angeles" AND Date = "Jan-08-1999" ;
具体是(shi)什(shen)么意(yi)思(si)的话就不说了,你懂的~~~
(6)DELETE FROM
删(shan)除表格中的某(mou)些(xie)数(shu)据,语法(fa)结构为:
DELETE FROM "表格名" WHERE {条件} ;
满足条件的所有资(zi)料(liao)都会被删除掉。
【免责声明】本(ben)文部(bu)分系转载,转载目的在于(yu)传(chuan)递更(geng)多信息,并(bing)不代(dai)表本(ben)网(wang)赞同(tong)其(qi)观(guan)点和(he)对(dui)其(qi)真实(shi)性负(fu)责。如(ru)涉及作品内容、版权(quan)(quan)和(he)其(qi)它问(wen)题,请在30日内与联系我(wo)(wo)们,我(wo)(wo)们会予以更(geng)改或删除亂伦xxxx乱女在线播放,韩国床戏巜老师的滋味,大荫(yin)蒂(di)女人(ren)毛多高(gao)潮,成(cheng)人(ren)做受黄大片(pian),国产精品搬运相(xiang)关的文章,以保(bao)证您的权(quan)(quan)益!