Android创建和使用数据库SQLIte

下面就为您详细讲解“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日

相关文章

  • Oracle中RAISE异常深入分析

    Oracle中RAISE异常深入分析 在Oracle数据库中,我们可以使用RAISE语句抛出异常,以便通过异常处理程序进行处理。本文将对RAISE异常进行深入分析,包括其中的参数及常用场景。 RAISE语句 RAISE语句用于向异常处理程序中抛出异常。 语法: RAISE exception_name [USING message]; 参数说明: excep…

    database 2023年5月21日
    00
  • java servlet手机app访问接口(三)高德地图云存储及检索

    Java Servlet 手机 App 访问接口(三):高德地图云存储及检索 本教程将教你如何在你的 Java Servlet 手机 App 中使用高德地图云存储及检索服务。高德地图云提供了诸多方便的 API,能够管理和存储大规模的地图数据,支持高效查询、检索等等。我们将使用这些 API 来实现我们的手机 App。 准备工作 为了使用高德地图云的服务,我们需…

    database 2023年5月22日
    00
  • 正确使用MySQL update语句

    当需要对MySQL数据库中的表进行修改时,我们可以使用update语句来更新数据。确定好需要更新记录的表名和需要更新的字段名之后,就可以按照以下步骤使用MySQL update语句进行操作。 步骤1:使用UPDATE语句确定需要更新的表 首先,需要使用UPDATE语句来确定需要更新的表,并指定该表的名称。 UPDATE tablename 步骤2:使用SET…

    database 2023年5月22日
    00
  • Springboot Redis 哨兵模式的实现示例

    下面是关于“Springboot Redis 哨兵模式的实现示例”的完整攻略。 什么是Springboot Redis 哨兵模式? 在单个Redis节点出现故障后,整个Redis集群将会崩溃。因此,为了保障Redis集群的高可靠性,Redis提供了Redis哨兵(Sentinel)模式。Redis哨兵模式是通过引入Redis哨兵进程(Sentinel pro…

    database 2023年5月22日
    00
  • Oracle PL/SQL入门案例实践

    Oracle PL/SQL是Oracle数据库中的一种编程语言,用于开发存储过程、触发器、函数等数据库程序。以下是Oracle PL/SQL入门案例实践的攻略,包含了学习PL/SQL的基本步骤和两条实例说明。 学习PL/SQL基本步骤 步骤1:安装Oracle数据库 Oracle官网提供了Oracle数据库的免费试用版,我们可以通过下载和安装Oracle D…

    database 2023年5月21日
    00
  • python定时任务apscheduler的详细使用教程

    Python定时任务apscheduler的详细使用教程 什么是apscheduler apscheduler是一个Python的任务调度库,可以用来执行定时任务和周期任务,支持多种任务触发器(如日期、时间间隔、文件修改、网络地址等),可以很好的满足各种任务调度的需求。 怎么安装apscheduler 可以使用pip进行安装。 pip install aps…

    database 2023年5月22日
    00
  • springboot开启声明式事务的方法

    下面是springboot开启声明式事务的方法的完整攻略。 一、前置知识 在了解开启声明式事务方法之前,需要了解以下几个方面的内容: 事务的概念和类型 Spring框架中的事务管理 AOP的概念及其实现 二、开启声明式事务的方法 1. 添加相关依赖包 在Spring Boot应用中需要添加spring-boot-starter-data-jpa和spring…

    database 2023年5月21日
    00
  • thinkPHP简单实现多个子查询语句的方法

    实现多个子查询语句的方法主要涉及到ThinkPHP的链式操作和查询构造器的使用。下面是具体的攻略步骤: 1. 使用链式操作 ThinkPHP的链式操作能够方便地实现多个子查询语句的嵌套,操作步骤如下: 首先使用查询构造器构造一个子查询对象$subQuery1,并设置需要查询的字段和查询条件。 $subQuery1 = Db::table(‘table1’) …

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