创建SQLiteOpenHelper 类来创建和管理SQLite数据库

SQLite 是 Android 中用于存储数据的轻量级数据库。它是一个自包含的、无服务器的、零配置的 SQL 数据库引擎,广泛用于移动应用程序。

创建数据库

你可以通过扩展 SQLiteOpenHelper 类来创建和管理数据库。

java 复制代码
public class MyDatabaseHelper extends SQLiteOpenHelper {  
    private static final String DATABASE_NAME = "mydatabase.db";  
    private static final int DATABASE_VERSION = 1;  

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

    @Override  
    public void onCreate(SQLiteDatabase db) {  
        String CREATE_TABLE = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)";  
        db.execSQL(CREATE_TABLE);  
    }  

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

插入数据

使用 SQLiteDatabase 对象插入数据。

java 复制代码
public void insertData(String name) {  
    SQLiteDatabase db = this.getWritableDatabase();  
    ContentValues values = new ContentValues();  
    values.put("name", name);  
    db.insert("my_table", null, values);  
    db.close();  
}  

查询数据

可以使用 Cursor 对象来查询数据。

java 复制代码
public Cursor getData() {  
    SQLiteDatabase db = this.getReadableDatabase();  
    return db.rawQuery("SELECT * FROM my_table", null);  
}  

更新和删除数据

更新和删除数据也可以通过 SQLiteDatabase 对象完成。

java 复制代码
public void updateData(int id, String newName) {  
    SQLiteDatabase db = this.getWritableDatabase();  
    ContentValues values = new ContentValues();  
    values.put("name", newName);  
    db.update("my_table", values, "id = ?", new String[]{String.valueOf(id)});  
    db.close();  
}  

public void deleteData(int id) {  
    SQLiteDatabase db = this.getWritableDatabase();  
    db.delete("my_table", "id = ?", new String[]{String.valueOf(id)});  
    db.close();  
}  
相关推荐
严同学正在努力12 分钟前
认识 SQL Server 的 T-SQL 语法
数据库·人工智能·ai·oracle·dba
EatFan19 分钟前
我为什么把患者与病例从 1:1 改成 1:N?一次真实数据库模型重构记录
数据库·后端·重构·健康医疗·全栈
xujuzheng1 小时前
2026深圳小程序/App/AI智能体开发公司选型指南(附本地服务商盘点)
数据库·科技·微信小程序·小程序·uni-app
不剪发的Tony老师1 小时前
DuckDB教程:常用文本函数
数据库·sql·数据分析·duckdb
ManageEngineITSM1 小时前
什么是IT服务连续性管理?灾难恢复与业务连续性一文讲清
数据库·microsoft·工单系统·变更管理
像风一样自由20201 小时前
29.Redis在大模型应用中有哪些用途缓存会话与限流
数据库·人工智能·redis·缓存·大模型·milvus·智能体
robottt6662 小时前
2026国产协作机器人排名与选型指南:越疆、遨博、节卡、珞石解析
大数据·数据库·人工智能
郑州光合科技余经理3 小时前
本地生活系统:多业务订单字段怎么分账本导出
java·开发语言·前端·数据库·uni-app·php·ai编程
weixin_460443565 小时前
考试监控大屏为什么不能直接查数据库?WebSocket、Redis与实时数据聚合架构设计
数据库·redis·在线考试系统·培训考试系统·煤矿培训考试系统·煤矿在线考试系统·宏远培训考试系统
风哥2号5 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg