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日

相关文章

  • 编写脚本令Xtrabackup对MySQL数据进行备份的教程

    下面我将详细讲解如何编写脚本令Xtrabackup对MySQL数据进行备份。 什么是Xtrabackup Xtrabackup 是一个由 Percona 提供的、支持 InnoDB 引擎在线热备的 MySQL 数据库备份工具,它可以在 MySQL 数据库运行的情况下备份、恢复 InnoDB、XtraDB 和 MariaDB 数据库,并可以还原到不同的 MyS…

    database 2023年5月22日
    00
  • mysql Key_buffer_size参数的优化设置

    MySQL中的Key_buffer_size参数用于指定索引缓存的大小。合理设置该参数能够有效提高MySQL的性能,因此优化Key_buffer_size参数是MySQL性能优化的重要一环。下面是该参数的完整优化攻略: 1. 观察现有设置 在进行调整之前,我们需要先观察一下当前的设置。可以使用下面的命令查看: SHOW VARIABLES LIKE ‘key…

    database 2023年5月19日
    00
  • 如何在MySQL中设置外键约束以及外键的作用

    1.外键的作用,主要有两个:   一个是让数据库自己通过外键来保证数据的完整性和一致性   一个就是能够增加ER图的可读性 2.外键的配置    1)先创建一个主表,代码如下:    #创建表student,并添加各种约束   create table student ( id int primary key , #主键约束 name varchar(20)…

    MySQL 2023年4月13日
    00
  • Mysql多表关联不走索引的原因及分析

    下面就让我来详细讲解“Mysql多表关联不走索引的原因及分析”的攻略吧! 标题 前言 在Mysql数据库的使用中,常常会遇到多表关联的情况。但是,在多表关联时,有些情况下不走索引,导致查询效率极低。那么,这是为什么呢?下面就让我们来逐步分析。 索引的基础概念 首先,我们需要了解一下Mysql中索引的基础概念及相关知识。 索引的定义 索引(Index)是一种特…

    database 2023年5月22日
    00
  • Ubuntu服务器下搭建php运行环境的方法

    下面我会详细讲解在Ubuntu服务器下搭建php运行环境的方法,包含以下几个步骤: 安装Apache Apache是一款开源的Web服务器软件,用于向客户端提供网页服务,可以在Ubuntu服务器上通过以下命令进行安装: sudo apt-get update sudo apt-get install apache2 安装PHP和相关插件 PHP是一款开源的脚…

    database 2023年5月22日
    00
  • SQL SERVER存储过程用法详解

    SQL SERVER存储过程用法详解 在SQLSERVER中,存储过程是一个或多个SQL语句的集合,类似于函数,可以在同一处组织和执行多个SQL语句,并接受用户传递的参数。存储过程的使用可以提高SQL语句的可重用性,降低代码量,并加强数据安全性。 存储过程的创建 存储过程在SQL SERVER中的创建使用CREATE PROCEDURE语句。下面是创建一个简…

    database 2023年5月21日
    00
  • Linux下启动Oracle服务和监听程序步骤

    启动Oracle服务和监听程序是在Linux下安装和配置Oracle数据库之后需要操作的重要步骤,以下是完整的步骤攻略: 1. 启动Oracle服务 1.1 进入Oracle用户 进入Oracle用户,一般为oracle用户,如果你使用的是其他的用户,可以根据实际情况进行替换。 su – oracle 1.2 启动Oracle服务 通过Oracle提供的脚本…

    database 2023年5月18日
    00
  • 简单了解标准SQL的update语句三种用法

    当我们需要修改数据库中的数据时,可以使用SQL中的update语句。update语句可以用于更新一条或多条数据的值。它的基本语法如下: UPDATE table_name SET column1=value1,column2=value2,… WHERE some_column=some_value; 其中: table_name:需要被修改的表名 co…

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