SQLite 更新本地 Android 数据库

SQLite 更新本地 Android 数据库

在本文中,我们将介绍如何使用 SQLite 在 Android 应用程序中更新本地数据库。SQLite 是一个轻量级的关系数据库,它被广泛用于嵌入式设备和移动应用程序开发中。

阅读更多:SQLite 教程

什么是 SQLite?

SQLite 是一个C语言库,用于管理简单的关系型数据库。它是一个无服务器的数据库引擎,可以嵌入到应用程序中,不需要独立的服务器进程来管理数据。SQLite 数据库以一个单一的文件存储,这使得它非常适合在移动设备上使用。

SQLite 数据库操作

SQLite 提供了一组丰富的 API,用于创建、查询、更新和删除数据库中的数据。在 Android 开发中,可以使用 SQLiteOpenHelper 类来管理数据库的创建和版本更新。下面是一个简单的示例,演示如何使用 SQLite 更新本地 Android 数据库。

// 创建或打开数据库
SQLiteDatabase db = getWritableDatabase();

// 更新数据
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 25);
db.update("users", values, "id=?", new String[]{"1"});

// 关闭数据库
db.close();

以上示例中,我们首先获取一个可写的数据库对象 SQLiteDatabase,然后使用 ContentValues 来设置要更新的数据。这里我们将名字改为 “张三”,年龄改为 25。通过调用 update 方法,我们可以将修改后的数据保存到数据库中。在 update 方法中,第一个参数是表名,第二个参数是要更新的数据,第三个参数是更新条件,第四个参数是更新条件的参数。

除了更新数据外,SQLite 还提供了其他常用的操作,包括插入新数据、查询数据和删除数据等。

示例应用:学生信息管理系统

为了更好地理解 SQLite 的使用,我们可以创建一个学生信息管理系统的示例应用。该应用可以添加、查询、更新和删除学生的个人信息。

创建数据库

首先,我们需要创建一个数据库来存储学生的信息。我们可以使用 SQLiteOpenHelper 类来管理数据库的创建和版本更新。

public class DBHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "student.db";
    private static final int DATABASE_VERSION = 1;

    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String createTableQuery = "CREATE TABLE students (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, grade TEXT)";
        db.execSQL(createTableQuery);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if (newVersion > oldVersion) {
            db.execSQL("DROP TABLE IF EXISTS students");
            onCreate(db);
        }
    }
}

在上面的代码中,我们创建了一个名为 “students” 的表,它包含了学生的编号、姓名、年龄和班级等信息。

添加学生信息

接下来,我们可以添加一些学生的信息到数据库中。

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 18);
values.put("grade", "高三");
db.insert("students", null, values);

db.close();

在上面的代码中,我们实例化了 DBHelper 类,然后获取一个可写的数据库对象。使用 ContentValues 来设置插入的数据,然后通过调用 insert 方法将数据插入到 “students” 表中。

查询学生信息

我们可以使用 SQLite 的查询语句来检索学生的信息。

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getReadableDatabase();

String[] projection = {"id", "name", "age", "grade"};
String selection = "age > ? AND grade = ?";
String[] selectionArgs = {"15", "高三"};
Cursor cursor = db.query("students", projection, selection, selectionArgs, null, null, null);

while (cursor.moveToNext()) {
    int id = cursor.getInt(0);
    String name = cursor.getString(1);
    int age = cursor.getInt(2);
    String grade = cursor.getString(3);

    Log.i("Student Info", "ID: " + id + ", Name: " + name + ", Age: " + age + ", Grade: " + grade);
}

cursor.close();
db.close();

在上面的代码中,我们使用 query 方法来检索 “students” 表中满足条件的学生信息。在查询语句中,我们通过设置 selectionselectionArgs 参数来筛选出年龄大于 15 岁且班级为 “高三” 的学生。然后使用 Cursor 对象逐条遍历查询结果。

修改学生信息

如果我们需要修改学生的个人信息,可以使用 update 方法来更新数据库中的数据。

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();
values.put("age", 20);
String selection = "id=?";
String[] selectionArgs = {"1"};
db.update("students", values, selection, selectionArgs);

db.close();

在上面的代码中,我们将 ID 为 1 的学生的年龄修改为 20 岁。

删除学生信息

如果某个学生已经毕业或不再需要记录,我们可以使用 delete 方法来从数据库中删除相关的数据。

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

String selection = "id=?";
String[] selectionArgs = {"1"};
db.delete("students", selection, selectionArgs);

db.close();

在上面的代码中,我们删除了 ID 为 1 的学生信息。

总结

本文介绍了如何使用 SQLite 更新本地 Android 数据库。我们首先了解了 SQLite 的概念,并提供了一些关于 SQLite 的常用操作的示例代码。然后我们创建了一个学生信息管理系统的示例应用,并展示了如何进行数据库的增、查、改、删操作。希望本文对你在 Android 开发中使用 SQLite 更新本地数据库有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程