【Android】SQLite数据库

 

1. SQLite 数据库介绍

Android 使用开源的、与操作系统无关的 SQL 数据库——大名鼎鼎的 SQLite。SQLite 是一款轻量级数据库,它的设计目的是嵌入式,而且它占用的资源非常少,在嵌入式设备中,可能只需要几百KB,这也是 Android 系统采用 SQLite 数据库的原因之一。

SQLite3数据类型:
sQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象,存图片、文件等)数据类型,虽然它支持的类型只有五种,但实际上 sqlite3 也接受 varchar(n)、char(n)、decimal(p,s)等数据类型,只不过在运算或保存时会转成对应的五种数据类型。SQLite最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数,当向这种字段中保存除整数以外的数据时,将会产生错误。

 

2. SQLite命令行操作

在命令行下创建数据库

1、启动模器后,打开命令行,执行adb shell
2、进入所在工程目录,如:cd data/data/com.vince.db(进入到模拟器内部创建,不进入到内部在项目文件内创建也可)
3、执行sqlite3 mydb 创建数据库文件

这时如果使用.help可以取得求助,.quit 则是离开
SQL 指令都是以分号(;)结尾的。如果遇到两个减号(--)则代表注解,sqlite3会略过去。

创建表:

create table

film(_id integer primary key autoincrement,title text,length int,year int,starring text);

增删改查操作

 

3. 定义数据库的元数据

表结构的元素名成为元数据

包android.database.sqlite包含了使用SQLite数据库的所有Apl
SQL 数据库主要概念之一就是 Schema——一个关于如何组织数据库的定义

以下是一个为单表定义表名和列名的代码片段:

public final class FeedReaderContract{
       public FeedReaderContract(){
       /*Inner class that defines the table contents*/
       public static abstract class FeedEntry implements BaseColumns{
              public static final String TABLE_NAME ="entry";
              public static final String COLUMN_NAME_ENTRY_ID="entryid";
              public static final String COLUMN_NAME_TITLE="title";
              public static final String COLUMN_NAME_SUBTITLE="subtitle";
              ...
       }
}

 

 

 

PetMetaData,用于定义数据库表的元数据。表名、列名,表需要实现BaseColumns

DatabaseHelper继承于SQLiteOpenHelper类,用于创建数据库、表。会用到PetMetaData中元数据信息。

DatabaseAdapter,用于封装操作数据库的代码,便于前端操作数据库。会用到DatabaseHelper类型的变量,来进行调用SQLite语句。

 

 

 

你可能感兴趣的:(Android)