Android数据库-SQLite探究

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,//游标工厂,默认为null
					SQLiteDataBase.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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值