沃梦达 / 编程技术 / 数据库 / 正文

Android中数据库常见操作实例分析

在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中数据库常见操作实例分析

基础教程推荐