返回

零基础SQLite数据库攻略:Android SQLite增删改查全面解析!

Android

SQLite数据库入门:Android开发指南

简介

SQLite是一款轻量级、无服务器的数据库,以其易用性和跨平台性而闻名。在Android开发中,它被广泛应用于存储和管理数据。本指南将逐步指导您使用SQLite数据库,包括创建和连接数据库,以及执行增删改查操作。

创建和连接数据库

要使用SQLite数据库,您需要导入必要的库并创建一个DBHelper类,继承自SQLiteOpenHelper。该类将处理数据库的创建和连接:

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

    public DBHelper(Context context) {
        super(context, "mydatabase.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE IF NOT EXISTS user(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 数据库升级操作
    }
}

增删改查操作

插入数据

使用insert()方法向数据库中插入数据:

ContentValues values = new ContentValues();
values.put("name", "John Doe");
values.put("age", 25);
long rowId = db.insert("user", null, values);

查询数据

使用query()方法查询数据:

String[] projection = {"id", "name", "age"};
String selection = "age > ?";
String[] selectionArgs = {"18"};
Cursor cursor = db.query("user", projection, selection, selectionArgs, null, null, null);
while (cursor.moveToNext()) {
    int id = cursor.getInt(cursor.getColumnIndex("id"));
    String name = cursor.getString(cursor.getColumnIndex("name"));
    int age = cursor.getInt(cursor.getColumnIndex("age"));
    // ...
}
cursor.close();

更新数据

使用update()方法更新数据:

ContentValues values = new ContentValues();
values.put("age", 26);
String selection = "name = ?";
String[] selectionArgs = {"John Doe"};
int count = db.update("user", values, selection, selectionArgs);

删除数据

使用delete()方法删除数据:

String selection = "age < ?";
String[] selectionArgs = {"18"};
int count = db.delete("user", selection, selectionArgs);

结论

掌握SQLite数据库是Android开发的基础。通过本指南,您已了解如何创建和连接数据库,以及执行常见的增删改查操作。利用这些知识,您可以轻松存储和管理您的Android应用程序中的数据。

常见问题解答

1. 如何创建表?

onCreate()方法中使用execSQL()方法创建表。

2. 如何获取数据库连接?

使用getWritableDatabase()getReadableDatabase()方法获取数据库连接。

3. 如何关闭数据库连接?

使用close()方法关闭数据库连接。

4. 如何处理数据库升级?

onUpgrade()方法中编写数据库升级逻辑。

5. 如何检查表是否存在?

使用execSQL("SELECT COUNT(*) FROM user")查询表是否存在。