android SQLite学习

来源:互联网 发布:剑网三 大叔脸型数据 编辑:程序博客网 时间:2024/06/05 06:35

SQLite简介

SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

SQLite特点

  • 轻量级
  • 不需要”安装”
  • 单一文件
  • 跨平台/可移植性
  • 弱类型的字段
  • 开源

SQLite数据类型

一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种常用的数据类型:

NULL: 这个值为空值

VARCHAR(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。

CHAR(n):长度固定为n的字串,n不能超过 254。

INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.

REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.

TEXT: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).

BLOB: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改 变格式。

DATA :包含了 年份、月份、日期。

TIME: 包含了 小时、分钟、秒。

SQLite操作

1、创建数据库

在Android 中使用SQLiteDatabase的静态方法openOrCreateDatabase(String path,SQLiteDatabae.CursorFactory factory)打开或者创建一个数据库。它会自动去检测是否存在这个数据库,如果存在则打开,不存在则创建一个数据库;创建成功则返回一个SQLiteDatabase对象,否则抛出异常FileNotFoundException。

db=SQLiteDatabase.openOrCreateDatabase("/data/data/com.lingdududu.db/stu.db",null);  

我这里主要采用执行sql语句来对数据库进行“增删查改”操作;

2、创建表

private void createTable(SQLiteDatabase db){   //创建表SQL语句   String stu_table="create table usertable(id integer primary key autoincrement,name text,age text)";   //执行SQL语句   db.execSQL(stu_table);   }  

以上创建了一个这样的表:

_id name age

3、插入数据

private void insert(SQLiteDatabase db){   //执行SQL语句  db.execSQL("insert into usertable(name, age) values(?,?)", new Object[]{"张三", 20}); }   

4、删除数据

public void del(SQLiteDatabase db){        db.execSQL("DELETE FROM usertable WHERE id = 1");}

查找数据还有很多形式,这里就不一一赘述了。

5、查找数据

public void query(SQLiteDatabase db){        db.execSQL("SELECT * FROM usertable WHERE id = 1");}

6、更新数据

public void update(SQLiteDatabase db){        db.execSQL("UPDATE usertable set name = ?,age = ? WHERE id = 1",new Object[]{"张三","20"});}
0 0