在android平台上,集成了一个嵌入式关系型数据库--SQLite。

它的特点是:免费的、轻量级、多线程、跨平台

其中SQLite 可以解析大部分标准的SQL语句。

要求从数据库中获得数据,运用数据,这就要求我们需要掌握一些基本的数据库语言:


创建表:

CREATE TABLE 表名(id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(20))

例:CREATE TABLE student (studentid INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(50),phone VARCHAR(20))


删除表:

DROP TABLE 表名

例:DROP TABLE student


更新表:

ALTER TABLE 表名 ADD 字段名 属性

例:"ALTER TABLE student ADD COLUMN age INTEGER"


查询语句:

select * from 表名 where 条件语句 group by 分组语句 having 分组条件 order by 排序语句

例:SELECT phone, name FROM student ORDER BY name DESC


插入语句

insert into 表名(字段名) values (值)

例:INSERT INTO student (name, phone) VALUES(“test”, “13666666666”)


更新语句

updata 表名 set 字段名 = 值 where 条件语句

例:UPDATE student SET phone=1399999999 WHERE name=“test”


删除语句:

delete from 表名 where 条件语句

例:DELETE FROM student WHERE name=“test”


其中获得数据等的方法可以参考附件一。



使用数据库语言可以很轻松地得到数据并使用数据,但要如果不熟悉数据库语言就无法就行数据的操作了么?

答案当然是否定的。

orm 对象关系映射,提供了概念性的、易于理解的模型化数据的方法。

相较于数据库语言,这个方法就算使用者不熟悉数据库语言也能够实现数据的增删改查。

具体语法如下:


插入数据:

ContentValues values = new ContentValues();

values.put("name", "test");

values.put("phone", "465465465");

mDB.insert(DBTable.TABLE_NAME, //想要插入数据的表名

null, //当values为null的时候,或者values 值为空的时候,要强行出入一个null的列表名

values); //代表一行的数据



更新数据:

ContentValues values = new ContentValues();

values.put(DBTable.PHONE, "1399999999");

mDB.update(DBTable.TABLE_NAME,

values ,

"studentid = ?", //条件语句

new String[]{"1"}); //占位符的参数




删除数据:

mDB.delete(DBTable.TABLE_NAME,

"name = ?",

new String[]{"test"});




查询数据:

Cursor cursor = mDB.query(DBTable.TABLE_NAME,

new String[]{"phone","name"}, //要查询的列名

null, //条件语句

null, //占位符参数

null, //分组条件

null, //占位符参数

"name DESC"); //排序



具体增删改查的实现详见附件二。