浅谈SQLite数据库的操作

2015-08-19 18:11 评论 0 条

在开发Android项目中,我们可以根据项目的需要选择合适的数据库,Android自带的SQLite数据库是一个轻量级的数据库,提供有SQLiteDatabase类、SQLiteOpenHelper类、Cursor接口和ContentValues类来对其进行操作,下面我们对各个类或接口的方法进行讲解。

1、SQLiteDatabase类提供的创建或打开数据库的静态方法,以及可以对数据库进行增、删、改、查等操作:

openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags)----打开或创建数据库

path----指定路径的数据库文件

factory----构造查询时返回的Cursor对象

flags----打开的模式,有OPEN_READONLY(只读模式)、OPEN_READWRITE(可读可写)、CREATE_IF_NECESSARY(当数据库文件不存在时,创建该数据库)

 

openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory)----相当于上面方法的第三个参数取值:CREATE_IF_NECESSARY

 

create(SQLiteDatabase.CursorFactory factory)----创建一个内存数据库

 

execSQL(String sql)----执行一条SQL语句

 

close()----关闭数据库

 

insert(String table,String nullColumnHack,ContentValues values)----往指定的table表中增加一条记录

table----数据表名称

nullColumnHack----指定空列的默认值,当某个字段未赋值时,该字段取默认值

values----封装了列名和列值的Map对象

 

delete(String table,String whereClause,String whereArgs[ ])----删除指定的table表中一条记录

whereClause----删除的条件

whereArgs----删除条件值数据,数组的值于取代删除条件中的问号

 

update(String table,ContentValues values,String whereClause,String whereAgrs[ ])-----更新指定表中的一条记录

 

query(String table,String[ ] columns,String selection,String[ ] selectionArgs,String groupBy,String having,String orderBy)----查询记录,返回一个Cursor实例

columns-----需要查询出来的列名数组

selection----条件子句,相当于where

selectionArgs----条件子句,where的值数组

groupBy----分组的列名

having----分组的条件

orderBy----排序的列名

 

2、SQLiteOpenHelper类中提供onCreate(SQLiteDatabase db)和onUpdate(SQLiteDatabase db,int oldVersion,int newVersion)两个重要的方法

onCreate(SQLiteDatabase db)----在数据库第一次生成时调用

onUpdate(SQLiteDatabase db,int oldVersion,int newVersion)----当数据库需要升级时,系统自动调用该方法

getReadableDatabase()----创建或打开一个只读数据库

getWritableDatabase()----创建或打开一个读写数据库

 

3、Cursor接口的常用方法和说明

getCount()----游标结果集的总记录条数

isFirst()----判断是否第一条记录

isLast()----判断是否最后一条记录

move(int offset)----移动到指定的记录

moveToFirst()----移动到第一条记录

moveToLast()----移动到最后一条记录

moveToNext()----移动到下一条记录

moveToPrevious()----移动到上一条记录

getColumnIndexOrThrow(String columnName)----根据列名获得列索引

getInt(int columnIndex)----根据列索引获取int类型值

getString(int columnIndex)----根据列索引获取String类型值

当前文章价值5.02元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/343.html ,谢谢支持!

资源分享

浅谈SQLite数据库的操作 浅谈SQLite数据库的操作
浅谈Collection接口和Collections封装类的区别 浅谈Collection接口和Collecti
如何快速的搭建自己的第一个网站? 如何快速的搭建自己的第一个网站
如何使用RadioGroup和RadioButton实现FragmentTabHost导航效果? 如何使用RadioGroup和RadioB