数据库速成——学习Android SQLite前你需要知道的知识

在学习Android SQLite 存储方式这一章前,我从未接触过数据库的有关知识。所以啃书的过程对我来说是极其痛苦的。学了一些数据库的基本知识后,再来看书上的例子,觉得自己差不多能理解了。这篇文章写给和我一样未学习过数据库的童鞋,通过这篇文章,你能对数据库有个简单的了解,并能够上手SQLite的一些基本功能。

一.数据库中的基本概念

你可以把数据库看成是一个存储数据的仓库。一个数据库中有若干张表,数据就储存在表里。

来个例子~这是数据库中的一张表(一维表),表名为Users:

num      name     age      edu            email

1           Lily          36        博士           [email protected]
2           James     11        硕士          
[email protected]
3           Bob         50        大专          
[email protected]

4           Mary       11        本科           [email protected]
5           Tom        45        本科          
[email protected]


数据库中还有一些基本概念,这是你不得不知道的:

字段:表中纵的一列为一个字段。如“年龄”。

记录:表中横的一行为一个记录。如“Lily”的相关信息。

值:表的一横行一纵行交叉处。如“Lily的年龄”,为36岁。

主键:主键是区分某条记录和其它记录的字段,由它来保证某条记录的唯一性。就像人的身份证,网卡的地址号码一样。它既不能为空,也不能重复出现。


二.简单的SQL语句

1.Select语句

语法:Select [Top(数值)] 字段列表 From 表 [Where 条件] [Order By 字段] [Group By 字段]

这就像一句English Sentence一样简单易懂~

Top是数据中“最。。。”几项,你可以选择性的获得某种属性最突出的数据,如“某次数学考试前十名”。

From后接数据来源表。

Where条件用来筛选满足条件的数据。

Order By 提供查询时排序的原则。

Group By提供分组的原则。

来几个例子~

//查询所有记录按姓名排序

Select * From Users By name ASC

//查找Lily的邮箱地址

Select Users.email From Users Where Users.name = "Lily"

2.Insert语句

语法: Insert Into 表 (字段1,字段2,。。。) Values (字段1 的值,字段2的值。。。)

这个就不解释了哈~来例子~

Insert Into Users (num,name,age,edu,email) Values ("6","Jessica",“25”,"硕士","[email protected]")

注意:

字符串字段两边加双引号。

插入的记录的主键一定要赋值!不能为空!

3.Delete语句

语法:Delete From 表 [Where条件]

如:

Delete From Users Where name = "Lily"

注意:

凡是符合Where条件的所有记录都会被删除。

若省略Where条件,将删除所有记录。


4.Update语句

语法:Update From 表 [Where条件] Set 字段1 = 字段值1,字段2 = 字段值2,。。。

如:

Update Users Set age ="35" Where num="1"

//所有人年龄增加一岁

Update Users Set age = age + 10



三.将数据库知识应用到SQLite中

首先,你必须了解Android中的一个接口:Cursor。

Cursor属于android.database类,是某一行数据的集合,相当于数据库中的一条记录。

它的常用方法如下:


 

继续举例:

//判断Cursor为空

if (cur.moveToFirst () ==false)

 return;

//通过下标访问其中数据

int nameColumnIndex = cur.getGolumnIndex(Users.name);

String name = cur.getString(nameColumnIndex);

//循环Cursor取出所有数据

while (cur.moveToNext())

{

  ......

}


在实际应用中,Cursor常与Adapter搭配使用。适配器为Cursor与其数据来源提供了连接的桥梁。建议你看看API文档中的Cursor和CursorAdapter。


SQLite中的常用语句有query,execSQL,delete等,基本上与前面所说的SQL语句类似。由于它们需要参数较多,这里就不一一说明了。在文档中的android.database.sqlite.SQLiteDatebase这个类有详细的介绍。




 

你可能感兴趣的:(数据库,sqlite,android,delete,insert,email)