SQLite学习笔记

前言:上一章我们介绍了sqlite的一些基本知识以及在dos命令下对sqlite进行的增删改查的操作,这一章我们将在android项目中实际来操作sqlite。

1、 SQLiteDatabase的介绍

Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在 Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法:

方法名称

方法描述

openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory)

打开或创建数据库

insert(String table,String nullColumnHack,ContentValues values)

添加一条记录

delete(String table,String whereClause,String[] whereArgs)

删除一条记录

query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy)

查询一条记录

update(String table,ContentValues values,String whereClause,String[] whereArgs)

修改记录

execSQL(String sql)

执行一条SQL语句

close()

关闭数据库

2、SQLiteOpenHelper

  该类是SQLiteDatabase一个辅助类。这个类主要生成一 个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的方法getWritableDatabase()或者 getReadableDatabase()方法的时候,如果当时没有数据,那么Android系统就会自动生成一个数据库。 SQLiteOpenHelper 是一个抽象类,我们通常需要继承它,并且实现里面的3个函数:

 1.onCreate(SQLiteDatabase)

在数据库第一次生成的时候会调用这个方法,也就是说,只有在创建数据库的时候才会调用,当然也有一些其它的情况,一般我们在这个方法里边生成数据库表。
 
2.  onUpgrade(SQLiteDatabase,int,int)
 
当数据库需要升级的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据表,并建立新的数据表,当然是否还需要做其他的操作,完全取决于应用的需求。

3.  onOpen(SQLiteDatabase):

这是当打开数据库时的回调函数,一般在程序中不是很常使用。

写了这么多,改改用实际例子来说明上面的内容了。下面这个操作数据库的实例实现了创建数据库,创建表以及数据库的增删改查的操作。

 

3、 实例一,利用execSQL()和rawQuery()方法来实现sqlite数据库的增删改查

程序中需要用到的模型层Student:

package com.demo.sqlite.model;

public class Student {

    private int sid;
    private String sname;
    private short age;

    public Student(int sid, String sname, short age) {
        super();
        this.sid = sid;
        this.sname = sname;
        this.age = age;
    }

    public Student() {
        super();
    }

    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public short getAge() {
        return age;
    }

    public void setAge(short age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "sid:" + sid + ",sname:" + sname + ",age:" + age;
    }
}
View Code

相关文章:

  • 2021-12-10
  • 2022-12-23
  • 2021-12-28
  • 2021-10-15
  • 2021-06-19
  • 2021-09-22
  • 2022-12-23
  • 2021-10-26
猜你喜欢
  • 2021-05-02
  • 2021-09-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-11
相关资源
相似解决方案