Android SQLite数据库基本操作

本文介绍了在Android中如何使用SQLite数据库进行基本操作,包括新建数据库、插入、更新、删除和查询数据。通过创建一个自定义的SQLiteOpenHelper类,实现了数据库的创建和更新,并通过SQLiteDatabase对象执行具体操作。此外,文章还给出了常用SQL语句的示例,帮助开发者更好地理解和运用SQLite。
摘要由CSDN通过智能技术生成

程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数据库来实现一些需求的吧。

首先,对数据库操作的基本步骤:
1、新建一个自定义的类MyHelper继承SQLiteOpenHelper并且重写它的抽象方法oncreate和onUpgrade方法,当然还要提供一个构造函数用于创建数据库文件。

2、调用MyHelper的getWriteableDatabase或者getReadableDatabase方法来获取Database数据库操作对象,调用这两个方法的时候,如果数据库文件不存在,那么会调用MyHelper的onCreate创建数据库文件并且返回Database对象,否则会直接打开这个数据库并且返回一个Database对象

3、调用获得的Database对象来对数据库进行对应操作

仍然以一个小例子开始:
在创建Android项目之前,我们应该想一下我们要定义的数据库的相关信息和里面的表格的相关信息,为了日后数据库的更新更加方便
,我们可以用一个专门的类保存数据库的相关信息,以后如果要更新数据库的话只需要该动这个类就行了。这样使得日后的操作更加方便。
新建一个Android工程:
在Src文件夹下新建一个包com.example.databaseHelper:
在这个包中创建两个类,首先我们来看第一个类DatabaseStatic.java:

package com.example.databaseHelper;

public class DatabaseStatic {
   

    public final static String DATABASE_NAME = "BookStore.db";
    public final static int DATABASE_VERSION = 1;

    public final static String TABLE_NAME = "book";
    public final static String BOOK_NAME = "bookName";
    public final static String ID = "_id";
    public final static String AUTHOR = "author";
    public final static String PRICE = "price";
    public final static String DATE = "sellData";
}

这个类中定义了数据库名称、版本、还有里面有一个名为“book”的表的相关信息,实现我们上面的意图,接下来是这个包里面的另外一个类MyHelper.java:

package com.example.databaseHelper;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;

/*
 * 在这个类的构造函数里面我们调用了父类的构造方法用来创建数据库文 
 * 件,第二个构造方法只是为了方便构造(不用些那么多的参数)
 * 这个类继承了 SQLiteOpenHelper 类,并且重写了父类里面的 
onCreate方法和 onUpgrade方法,
 * onCreate方法当数据库文件不存在的时候会被调用来创建一个新的数
 * 据库文件(不懂的小伙伴可以百度一下)
 */

public class MyHelper extends SQLiteOpenHelper{
   

    public static String CREATE_TABLE = "create table "+ DatabaseStatic.TABLE_NAME +"(" + 
            DatabaseStatic.BOOK_NAME + " varchar(30), " + 
            DatabaseStatic.ID + " Integer primary key autoincrement, " + 
            DatabaseStatic.AUTHOR + " varchar(20) not null, " + 
            DatabaseStatic.PRICE + " real)";    // 用于创建表的SQL语句
    private Context myContext = null;

    public MyHelper(Context context, String name,
            CursorFactory factory, int version) {
        super(context, DatabaseStatic.DATABASE_NAME, null, DatabaseStatic.DATABASE_VERSION);
    }

    public MyHelper(Context context)
    {
        super(context, DatabaseStatic.DATABASE_NAME, null
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值