Android自带数据库-SQLite探究

来源:互联网 发布:AIX指定mountd端口, 编辑:程序博客网 时间:2024/05/20 06:22

SQLite是一款满足ACID特性的具有完备功能的关系数据库系统,由于设计目标为轻量级、开源、支持嵌入式使用,因此目前已经在嵌入式设备领域广泛采用,其运行需要系统资源非常少,在嵌入式设备中可能只需要几百KB的内存就够了。

SQLite对主流的变成语言支持的也很好,C# PHP Java等,同时还支持ODBC接口。另外SQLite的性能也是一流的,在一般应用情况下,其处理速度比MySQL、PostgreSQL这两款著名的开源数据库管理系统都快。

虽然SQLite占用的资源非常少,特性与服务器级数据库相比却丝毫不差,这也是SQLite能够收到android系统青睐的主要原因,其部分特性如下:

1 最大可已支持2TB的数据文件

2 占用资源少,一般占用250KB左右

3 API非常简单,易于使用

4 没有任何的依赖,是独立的

5 源代码完全开放,可以用于任何用途

Android系统中很多的用户数据都是存储在SQLite数据库中的,如联系人信息,通话记录,短信等,由此可见SQLite对于Android的重要性。

Android 下必须用到android.database.sqlite包下的SQLiteDataBase类,该类提供了对SQLite数据库进行基本的所有重要方法。

创建数据库:

SQLiteDataBase sld = SQLiteDataBase.openDataBase("data/data/<包名>/mydb",//数据库所在路径null,//游标工厂,默认为nullSQLiteDataBase.OPEN_READWRITE|SQLiteDataBase.CREATE_IF_NECESSARY/模式为读写,不存在则创建);


关闭数据库:

sld.close();

创建数据表:

String sql = "create table if not exists student ( sno var(5), stuname varchar(20), sage integer, sclass char(5) )";sld.execSQL(sql);

插入数据:

String sql = "insert student values ('001', 'Android', 22, '3')";sld.execSQl(sql);

更新数据:

String sql = "update student set sage = 20 where sno = '001' ";sld.execSQL(sql);

查询数据:

String sql = "select * from student where sage > ?";Cursor cursor = sld.rawQuery(sql , new String [] { "20" } );while(cursor.moveToNext()) {//若记录存在String sno = cursor.getString(0);String sname = cursor.getString(1);int sage = cursor.getInt(2);String sclass = cursor.getString(3);}cursor.close(); // 关闭cursor

删除数据:

String sql = "delete from student";sld.execSQL(sql);

0 0
原创粉丝点击