在Android开发中,常常需要使用数据库进行数据的存储和管理。本文将针对Android中的数据库常见操作进行实例分析,包括创建数据库、创建数据表、插入数据、查询数据、删除数据等操作。
Android中数据库常见操作实例分析
在Android开发中,常常需要使用数据库进行数据的存储和管理。本文将针对Android中的数据库常见操作进行实例分析,包括创建数据库、创建数据表、插入数据、查询数据、删除数据等操作。
创建数据库
创建数据库的过程需要继承SQLiteOpenHelper类,重写onCreate()和onUpgrade()方法。
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydata.db"; //数据库名称
private static final int DB_VERSION = 1; //数据库版本号
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建表
String sql = "CREATE TABLE IF NOT EXISTS users(_id INTEGER PRIMARY KEY, username TEXT, password TEXT)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//升级数据库
String sql = "DROP TABLE IF EXISTS users";
db.execSQL(sql);
onCreate(db);
}
}
创建数据表
在onCreate()方法中创建表。通过调用execSQL()方法执行创建表的SQL语句。
@Override
public void onCreate(SQLiteDatabase db) {
//创建表
String sql = "CREATE TABLE IF NOT EXISTS users(_id INTEGER PRIMARY KEY, username TEXT, password TEXT)";
db.execSQL(sql);
}
插入数据
使用ContentValues对象存储需要插入的数据,调用insert()方法将数据插入到数据库中。
ContentValues values = new ContentValues();
values.put("username", "Tom");
values.put("password", "123456");
long id = db.insert("users", null, values);
查询数据
使用query()方法进行查询,参数包括表名、列名、查询语句、查询条件等。查询结果存储在Cursor对象中,可以通过moveToFirst()和moveToNext()等方法进行遍历。
Cursor cursor = db.query("users", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String username = cursor.getString(cursor.getColumnIndex("username"));
String password = cursor.getString(cursor.getColumnIndex("password"));
} while (cursor.moveToNext());
}
删除数据
使用delete()方法进行删除,参数包括表名、删除条件等。
int count = db.delete("users", "username=?", new String[]{"Tom"});
示例1:创建学生信息表
@Override
public void onCreate(SQLiteDatabase db) {
//创建学生信息表
String sql = "CREATE TABLE IF NOT EXISTS students(_id INTEGER PRIMARY KEY, name TEXT, age INTEGER, gender TEXT)";
db.execSQL(sql);
}
示例2:查询年龄大于等于18岁的学生信息
Cursor cursor = db.query("students", null, "age>=?", new String[]{"18"}, null, null, null);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
String gender = cursor.getString(cursor.getColumnIndex("gender"));
} while (cursor.moveToNext());
}
以上是Android中数据库常见操作实例分析的完整攻略,通过本文的实例介绍,大家应该对Android中数据库的操作有了更深入的了解。
本文标题为:Android中数据库常见操作实例分析
- Docker上部署mysql8主从复制的实现 2022-09-12
- SQL 聚合、分组和排序 2023-08-06
- 详解MySQL中的数据类型和schema优化 2023-12-20
- mysql优化利器之explain使用介绍 2023-12-21
- 详解PostgreSQL 14.4安装使用及一些安装的异常问题 2023-07-21
- sql查询一个数组中是否包含某个内容find_in_set问题 2023-07-29
- mongodb数据库迁移变更的解决方案 2023-07-15
- PostgreSQL 复制表的 5 种方式详解 2023-07-21
- MySQL备份恢复设计思路 2023-12-19
- php导入大量数据到mysql性能优化技巧 2023-12-22