Android 中 SQLite 数据库知识点总结 SQLite 是一个轻量级数据库,它是 D. Richard Hipp 建立的公有领域项目,在 2000 年发布了第一个版本。它的设计目标是嵌入式的,而且占用资源非常低,在内存中只需要占用几百 kB 的存储空间,这也是 Android 移动设备采用 SQLite 数据库的重要原因之一。 SQLite 是遵守 ACID 的关系型数据库管理系统。这里的 ACID 是指数据库事务正确执行的 4 个基本要素,即原子性 (Atomicity)、致性 (Consistency)、隔离性 (Isolation) 和持久性 (Durability)。 SQLite 数据库的优点是: * 占用资源低,可以在嵌入式系统中使用 * 支持多种操作系统,例如 Windows、Linux 和 UNIX 等 * 能够跟很多程序语言相结合,例如 Tcl、C#、PHP、Java 等 * 处理速度快于 MySQL 和 PostgreSQL 等开源数据库管理系统 * 没有服务器进程,通过文件保存数据,该文件是跨平台的,可以放在其他平台中使用 * 支持 null、integer、real、text 和 blob 等 5 种数据类型 创建 SQLite 数据库: 在 Android 系统中,创建 SQLite 数据库是非常简单的。Android 系统推荐使用 SQLiteOpenHelper 的子类创建数据库。SQLiteOpenHelper 是一个抽象类,需要使用其子类进行继承,同时还需要重写父类的抽象方法,onCreate() 方法和 onUpgrade() 方法都是其父类中的抽象方法。 使用 SQLiteOpenHelper 的子类可以使得数据库的创建和升级变得更加方便。例如: public class MyHelper extends SQLiteOpenHelper { @Override private static String DATABASE_NAME = "alan.db"; private static int DATABASE_VERSION = 2; public MyHelper(Context context){ super(context,DATABASE_NAME,null,DATABASE_VERSION); //调用父类的构造方法 } //数据库第一次被创建时调用该方法 public void onCreate(SQLiteDatabase db){ //初始化数据库的表结构,执行一条建表的 SQL 语句 db.execSQL("CREATE TABLE IF NOT EXISTS person(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), price INTEGER); } //当数据库版本增加时调用 public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ } } SQLite 数据库的基本操作方法: 1. 增加一条数据 使用 SQLiteDatabase 对象的 insert() 方法向表中插入一条数据,例如: public void insert(String name, int price){ SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("price", price); db.insert("person", null, values); } 2. 删除一条数据 使用 SQLiteDatabase 对象的 delete() 方法删除表中的数据,例如: public void delete(int id){ SQLiteDatabase db = helper.getWritableDatabase(); db.delete("person", "_id = ?", new String[]{String.valueOf(id)}); } 3. 修改一条数据 使用 SQLiteDatabase 对象的 update() 方法修改表中的数据,例如: public void update(int id, String name, int price){ SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("price", price); db.update("person", values, "_id = ?", new String[]{String.valueOf(id)}); } 4. 查询数据 使用 SQLiteDatabase 对象的 query() 方法查询表中的数据,例如: public void query(){ SQLiteDatabase db = helper.getReadableDatabase(); Cursor cursor = db.query("person", new String[]{"_id", "name", "price"}, null, null, null, null, null); while (cursor.moveToNext()){ int id = cursor.getInt(0); String name = cursor.getString(1); int price = cursor.getInt(2); // 处理查询结果 } cursor.close(); } SQLite 数据库是 Android 系统中的一种常用的数据库解决方案,它提供了强大的数据库管理功能和良好的性能。
- 粉丝: 8
- 资源: 961
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python-leetcode题解之186-Reverse-Words-in-a-String-II.py
- python-leetcode题解之179-Largest-Number.py
- python-leetcode题解之170-Two-Sum-III-Data-structure-design.py
- python-leetcode题解之168-Excel-Sheet-Column-Title.py
- python-leetcode题解之167-Two-Sum-II-Input-array-is-sorted.py
- 625860606046292哔哩哔哩HD.apk
- 红色大气精美数据图表模板PP.pptx
- 粉色医疗护理知识宣传模板.pptx
- Java基础的学习笔记
- ACDSee 2020旗舰版安装包