浅谈SQLite数据库的操作

2015-08-19 18:11 阅读 3,376 次 评论 0 条
版权声明:本文著作权归TeachCourse所有,未经许可禁止转载,谢谢支持!
转载请注明出处:http://teachcourse.cn/343.html

在开发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类型值

关注公众号 扫一扫二维码,加我QQ

如果文章对你有帮助,欢迎点击上方按钮关注作者

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ1589359239或公众号TeachCourse)
转载请注明出处:http://teachcourse.cn/343.html
浅谈Layout类 浅谈Layout类
自我介绍模板 自我介绍模板
年终总结,2017 年终总结,2017
你所了解的VisualSVN Server,VisualSVN,TortoiseSVN? 你所了解的VisualSVN Serve

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情