Android创建和使用数据库SQLIte

yizhihongxing

下面就为您详细讲解“Android创建和使用数据库SQLIte”的完整攻略:

1. 基本概念

在开发过程中,常会使用数据存储和读取功能。而SQLite是一种轻型的关系型数据库,是Android系统内置的一种数据库,被广泛的应用于Android应用开发中。它提供了一个简单易用的API来操作数据库,支持标准的SQL语句。

2. 创建SQLite数据库

在Android中,创建数据库可以借助SQLiteOpenHelper类来完成,具体步骤如下:

2.1 创建SQLiteOpenHelper的子类

创建SQLiteOpenHelper的子类,用于辅助管理数据库的创建、版本升级等操作。在该类中,需要实现以下方法:

  • onCreate:当数据库首次创建时调用,用于初始化表结构等操作。
  • onUpgrade:当数据库升级时调用,用于更新表结构等操作。

示例如下:

public class DatabaseHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "mydb.db"; // 定义数据库名称
    private static final int DATABASE_VERSION = 1; // 定义数据库版本号

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        String table = "CREATE TABLE student (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER)";
        db.execSQL(table);
    }

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

2.2 创建 SQLiteOpenHelper 实例

在使用数据库之前,需要创建 SQLiteOpenHelper 的实例:

DatabaseHelper dbHelper = new DatabaseHelper(context);

2.3 获取 SQLiteDatabase 实例

通过 SQLiteOpenHelper 实例获取 SQLiteDatabase 实例,通过该实例完成对数据库的增删改查操作:

SQLiteDatabase db = dbHelper.getWritableDatabase();

3. 操作SQLite数据库

通过获取的SQLiteDatabase实例,我们可以进行表的增、删、改、查等操作,如下所示:

3.1 表的创建

表的创建可以通过上面的 onCreate 方法来实现,示例如下:

String table = "CREATE TABLE student (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER)";
db.execSQL(table);

3.2 表的插入

表的插入可以通过SQLiteDatabase的insert方法来实现,示例如下:

ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 25);
db.insert("student", null, values);

3.3 表的修改

表的修改可以通过SQLiteDatabase的update方法来实现,示例如下:

ContentValues values = new ContentValues();
values.put("name", "李四");
values.put("age", 26);
db.update("student", values, "_id = ?", new String[]{"1"});

3.4 表的删除

表的删除可以通过SQLiteDatabase的delete方法来实现,示例如下:

db.delete("student", "_id = ?", new String[]{"1"});

3.5 表的查询

表的查询可以通过SQLiteDatabase的query方法来实现,示例如下:

Cursor cursor = db.query("student", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
    do {
        String name = cursor.getString(cursor.getColumnIndex("name"));
        int age = cursor.getInt(cursor.getColumnIndex("age"));
    } while (cursor.moveToNext());
}

4. 示例

下面我们实现一个简单的demo,对学生的成绩进行增删改查操作。

4.1 学生表的创建

String table = "CREATE TABLE scores (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, math INTEGER, english INTEGER)";
db.execSQL(table);

4.2 学生表的插入

ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("math", 80);
values.put("english", 90);
db.insert("scores", null, values);

4.3 学生表的修改

ContentValues values = new ContentValues();
values.put("math", 85);
values.put("english", 92);
db.update("scores", values, "_id = ?", new String[]{"1"});

4.4 学生表的删除

db.delete("scores", "_id = ?", new String[]{"1"});

4.5 学生表的查询

Cursor cursor = db.query("scores", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
    do {
        String name = cursor.getString(cursor.getColumnIndex("name"));
        int math = cursor.getInt(cursor.getColumnIndex("math"));
        int english = cursor.getInt(cursor.getColumnIndex("english"));
    } while (cursor.moveToNext());
}

到这里,我们已经完成了使用SQLiteOpenHelper类创建和使用SQLite数据库的过程,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android创建和使用数据库SQLIte - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • Spark在Windows下的环境搭建方法

    Spark在Windows下的环境搭建方法 1. 安装Java 安装Spark之前需要先安装Java环境,可以在官网上下载并安装最新版的Java。安装完成后,在命令行中输入以下命令,检查是否安装成功: java -version 2. 安装Hadoop Spark需要依赖Hadoop,因此需要先安装Hadoop。可以在官网上下载最新版的Hadoop二进制文件…

    database 2023年5月22日
    00
  • mysql数据库常见基本操作实例分析【创建、查看、修改及删除数据库】

    下面我就给您详细讲解 MySQL 数据库常见基本操作实例分析【创建、查看、修改及删除数据库】的完整攻略。 创建数据库 在 MySQL 中,创建数据库的语句是 CREATE DATABASE 数据库名。其中,数据库名 表示需要创建的数据库名称。例如,我要创建一个名为 testdb 的数据库,则可以执行以下 SQL 语句: CREATE DATABASE tes…

    database 2023年5月22日
    00
  • t-sql/mssql用命令行导入数据脚本的SQL语句示例

    t-sql/mssql用命令行导入数据脚本的SQL语句示例攻略 在t-sql/mssql中,可以通过命令行导入数据脚本来进行数据导入。下面是完整的攻略: 创建数据表 在导入数据之前,需要先创建数据表。可以使用以下sql语句: CREATE TABLE [dbo].[example_table]( [id] [int] NOT NULL, [name] [nv…

    database 2023年5月21日
    00
  • springboot2.3 整合mybatis-plus 高级功能(图文详解)

    Spring Boot 2.3 整合 Mybatis-Plus 高级功能 介绍 MyBatis-Plus 是一个 MyBatis 的增强工具,提供了许多实用且方便的功能,比如逆向工程、分页插件、自动填充等等。Spring Boot 2.3 是 Spring 家族中的一员,它提供了快捷而方便的开发方式。 本文将会讲解如何在 Spring Boot 2.3 中整…

    database 2023年5月19日
    00
  • MySQL 表数据的导入导出操作示例

    MySQL是一款广泛使用的开源关系型数据库管理系统,提供了丰富的数据管理功能,其中包括表数据的导入导出。下面是MySQL 表数据的导入导出操作示例的完整攻略。 导出表数据 要导出表数据,可以使用MySQL提供的mysqldump工具,其语法如下: $ mysqldump -u [用户名] -p [密码] [数据库名] [表名] > [导出文件路径] 如…

    database 2023年5月22日
    00
  • Mysql中的触发器定义及语法介绍

    MySQL中的触发器定义及语法介绍 触发器是一种在数据库上执行自动化操作的特殊类型的存储过程。它们在标识的SQL语句执行时自动触发,并且可以在执行之前或之后执行自定义代码。MySQL支持三种类型的触发器:在插入、更新或删除行时触发。下面是MySQL中的触发器定义及语法介绍: CREATE TRIGGER trigger_name trigger_time t…

    database 2023年5月22日
    00
  • Postgresql的日志配置教程详解

    Postgresql的日志配置教程详解 介绍 Postgresql是一个流行的开源关系型数据库,作为一款大型数据库系统,它提供了强大的日志功能来记录数据库操作和系统事件等信息。在使用Postgresql时,合理配置日志可以帮助我们更好地了解数据库运行情况和故障排查。 配置步骤 步骤一:打开日志记录功能 在Postgresql的配置文件中,可以通过设置logg…

    database 2023年5月19日
    00
  • CentOS下redis自启动shell脚本

    下面是详细讲解 “CentOS下redis自启动shell脚本” 的完整攻略: 1. 编写redis自启动脚本 在 CentOS 系统下,使用 systemd 来管理系统服务。因此,我们可以编写一个 systemd 的 service 脚本来实现 redis 的自启动。 编辑服务脚本: sudo nano /etc/systemd/system/redis.…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部