Android SQLite 数据库操作详解

在开发Android应用过程中,本地数据的存储和管理是非常常见的需求。而Android系统提供了SQLite数据库,支持非常强大和灵活的数据存储方式。本文就来详细介绍如何在Android应用中进行SQLite数据库操作。

一、创建SQLite数据库

在Android应用中创建SQLite数据库有两个核心概念:SQLiteOpenHelper 和 SQLiteDatabase。

SQLiteOpenHelper 是Sqlite数据库操作的帮助类,提供了创建、更新和打开 Sqlite 数据库的功能。下面是一个创建 SQLiteOpenHelper 的示例代码:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "my_db.db"; // 数据库名称
    private static final int DB_VERSION = 1; // 数据库版本

    public MySQLiteOpenHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建表格等数据库操作
    }

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

SQLiteDatabase 是一个表示 SQLite 数据库的类,提供了对数据表的操作,包括 CRUD 操作(增删改查)等。下面是一个使用 SQLiteDatabase 创建表格的示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
String sql = "create table user(_id integer primary key autoincrement,name varchar(20) not null,age integer not null)";
db.execSQL(sql);
db.close();

二、SQLite数据库的增删改查操作

1. SQLite 数据库的插入操作

使用 SQLiteDatabase 的 insert() 方法可以将数据插入到数据库中。一般情况下,我们使用 ContentValues 来辅助进行数据增加。下面是一个示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name","Tom");
values.put("age",25);
db.insert("user",null,values);
db.close();

2. SQLite 数据库的查询操作

使用 SQLiteDatabase 的 query() 方法可以进行数据库的查询操作,使用 Cursor 对象来获取查询结果。下面是一个查询用户列表并打印的示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.query("user",new String[]{"_id","name","age"},null,null,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"));
    // 打印数据
    Log.d("TAG","id = "+id+", name = "+name+", age = "+age);
}
cursor.close();
db.close();

3. SQLite 数据库的更新操作

使用 SQLiteDatabase 的 update() 方法可以进行数据库的更新操作。下面是一个更新指定用户的示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("age", 26);
int updateCount = db.update("user", values, "_id=?", new String[]{"2"});
db.close();

4. SQLite 数据库的删除操作

使用 SQLiteDatabase 的 delete() 方法可以进行数据库的删除操作。下面是一个删除指定用户的示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
int deleteCount = db.delete("user","_id=?",new String[]{"2"});
db.close();

三、SQLite数据库事务操作

在进行 SQLite 数据库操作时,如果需要对多个操作进行集合管理或者需要批量进行数据操作,可以使用事务操作。SQLite 支持事务的概念,这样可以增加数据的安全性和数据处理速度。下面是一个数据库事务管理的示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
try {
    db.beginTransaction();
    // 数据库操作1
    // 数据库操作2
    // 数据库操作3
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
    db.close();
}

四、SQLite数据库执行SQL语句操作

在某些情况下,我们需要执行自定义的 SQL 语句进行数据的操作,这时我们可以使用 SQLiteDatabase 的 execSQL() 方法来执行 SQL 语句。下面是一个执行自定义 SQL 语句的示例代码:

MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into user(name,age) values('Tom',25)");
db.close();

五、总结

本文详细介绍了在 Android 应用中对 SQLite 数据库进行相关操作的方法,包括创建数据库、数据的增删改查、事务操作,以及执行 SQL 语句等。使用 SQLite 数据库可以为我们的应用提供强大和灵活的本地数据存储和管理功能,希望本文能对开发人员有所帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/255193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-15 12:15
下一篇 2024-12-15 12:15

相关推荐

  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • Python代码实现回文数最少操作次数

    本文将介绍如何使用Python解决一道经典的回文数问题:给定一个数n,按照一定规则对它进行若干次操作,使得n成为回文数,求最少的操作次数。 一、问题分析 首先,我们需要了解回文数的…

    编程 2025-04-29
  • Python磁盘操作全方位解析

    本篇文章将从多个方面对Python磁盘操作进行详细阐述,包括文件读写、文件夹创建、删除、文件搜索与遍历、文件重命名、移动、复制、文件权限修改等常用操作。 一、文件读写操作 文件读写…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • Python元祖操作用法介绍

    本文将从多个方面对Python元祖的操作进行详细阐述。包括:元祖定义及初始化、元祖遍历、元祖切片、元祖合并及比较、元祖解包等内容。 一、元祖定义及初始化 元祖在Python中属于序…

    编程 2025-04-29
  • 如何用Python对数据进行离散化操作

    数据离散化是指将连续的数据转化为离散的数据,一般是用于数据挖掘和数据分析中,可以帮助我们更好的理解数据,从而更好地进行决策和分析。Python作为一种高效的编程语言,在数据处理和分…

    编程 2025-04-29

发表回复

登录后才能评论