Android原生数据库SQLite使用
简介:SQLite是一个开源的嵌入式关系数据库,它可以减少用用程序的管理数据开销,SQLite可移植性好,很容易使用,很少,高效而可靠。
一:SQLiteOpenHelper类(SQLite数据库操作类)
作用:管理数据库(创建,增加,删,修,改)&版本控制。
两个重要的方法
onCreate(SQLiteDatabase db) 创建数据库 创建数据库时自动调用
onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion)升级数据库
其他方法
1.getWritableDatabase() 创建或者打开可以读/写的数据库 返回SQLiteDatabase对象
2.getReadableDatabase() 创建或打开可读的数据库 返回SQLiteDatabase对象
3.拿到返回SQLiteDatabase对象可以执行1.execSQL(sql) 通过执行sql语句可以进行增删改操作,不能执行查询操作
2.query(),rawQuery()查询数据库
3.insert()插入数据
4.delete()删除数据
5.close()关闭所有打开的数据库对象
4.对于“增、删、改(更新)”这类对表内容变换的操作,需先调用getWritableDatabase()获得一个可写数据库对象,在执行的时候调用通用的execSQL(String sql)或对应的操作API方法:insert()、delete()、update()
5.对“查”,需要调用getReadableDatabase()获得一个可读的数据库对象,然后使用query()或rawQuery()方法 查询数据库不能使用execSQL方法public class DBHelper extends SQLiteOpenHelper {
private static final String DBname = "rocky.db";
private static final int DBversion = 3;
private static final String TAG = "DBHelper";
/*参数说明:
* 第一参数:上下文
* 第二参数:数据库文件名称
* 第三参数:null代表默认的游标工厂
* 第四参数:数据库的版本号(数据库版本号只增不减)*/
public DBHelper(Context context) {
super(context, DBname, null, DBversion);
}
/*
* 数据库创建的调用,只有在app第一次安装时才会调用这个方法
* * 创建一个如果表不存在就创建它UserInfo
* integer primary key autoincrement * varchar(20) 存储变长数据
* char(10) 存储定长数据
* text 存储可变长度的非Unicode数据*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQ