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)
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; } }