安卓原生sqlite数据库介绍 (安卓自带sqlite数据库)
安卓原生SQLite数据库介绍
安卓原生SQLite数据库是一种轻量级的嵌入式关系型数据库,是Android开发中常用的一种数据库。SQLite不像常见的数据库管理系统需要独立的安装或者运行,它可以直接被嵌入到应用程序中,通过API访问,因此占用的资源也较小,适用于嵌入式手机应用程序和其他轻量级应用程序。
SQLite的优点
1. 小巧、轻量级:SQLite占用的存储空间较小,包括其本身的文件大小和所占用的内存空间。
2. 无需服务器端支持:SQLite是一种本地型的数据库,无需服务器端支持,且与操作系统紧密结合,相比MySQL、Oracle等数据库,其技术门槛更低,对于开发者来说更容易掌握。
3. 高效可靠:SQLite使用的是一种文件格式,故其处理数据时可以达到极高的效率。因为其数据保存在磁盘上,不会因为程序崩溃而发生数据丢失的事情,数据结构不会被破坏,保证了高可靠性。
4. 跨平台性强:SQLite的适用范围很广泛,它可以在不同的操作系统中运行,包括Windows、Linux、MacOS、iOS和Android等。
5. 容易操作:SQLite所有的操作都可以通过一些简单的SQL语句来完成,非常易于掌握。
SQLite的特点
1. 同时只支持一个写进程,但是支持多个读进程。
2. 不支持存储过程、触发器、视图等高级功能,但是对于一些轻量级应用程序这些功能已经足够了。
3. 没有管理平台或可视化界面,需要通过命令行或第三方工具来操作。
4. 具有ACID事务特性:原子性、一致性、隔离性和持久性。
SQLite的常用API
1. SQLiteDatabase:表示一个数据库,可以通过该类的方法创建表、删除表、查询表数据等等操作。
2. SQLiteOpenHelper:是一个数据库管理类,用于创建和升级数据库的版本,一般情况下,我们都需要继承该类。
3. ContentValues:用于批量的增加、删除、修改数据。
4. Cursor:可以滚动且只读的结果集,一般都会用在查询操作中。
5. SQLiteStatement:基于预编译的 SQLite 语句的一个代理类,可以操作select、insert、update和delete语句。
SQLite的使用流程
1. 创建SQLiteOpenHelper类,继承SQLiteOpenHelper,实现onCreate()和onUpgrade()方法。
2. 在onCreate()方法中创建数据库,并且将表创建出来。
3. 实现数据表的增、删、改、查操作。
4. 若需要升级数据库,需要在onUpgrade()中进行。
5. 关闭数据库。
SQLite的创建和使用示例
1. 创建数据库
“`
MyOpenHelper myOpenHelper = new MyOpenHelper(this, “test.db”, null, 1);
SQLiteDatabase db = myOpenHelper.getWritableDatabase();//获取可读写的数据库
SQLiteDatabase db = myOpenHelper.getReadableDatabase();//获取只读的数据库
“`
2. 创建表格
“`
public static final String CREATE_BOOK = “create table Book (“
+ “id integer primary key autoincrement, “
+ “author text, “
+ “price real, “
+ “pages integer, “
+ “name text)”;
db.execSQL(CREATE_BOOK);
“`
3. 插入数据
“`
ContentValues values = new ContentValues();
values.put(“name”, “The Da Vinci Code”);
values.put(“author”, “Dan Brown”);
values.put(“pages”, 454);
values.put(“price”, 16.96);
long rowId = db.insert(“Book”, null, values);
“`
4. 更新数据
“`
ContentValues values = new ContentValues();
values.put(“price”, 10.99);
db.update(“Book”, values, “name = ?”, new String[] { “The Da Vinci Code” });
“`
5. 查询数据
“`
Cursor cursor = db.query(“Book”, null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
// 遍历 Cursor 对象,取出数据
} while (cursor.moveToNext());
}
“`
6. 删除数据
“`
db.delete(“Book”, “price
“`
SQLite是一种优秀的嵌入式数据库,所具有的高效、轻量级、高可靠性、跨平台性强、易操作等优点使得其在Android应用程序开发中应用非常广泛。通过使用SQLiteOpenHelper类等API,开发者可以轻松管理数据库并完成CRUD操作。