openorCreateDatabase(String path,sqliteDatabase.CursorFactory factory)
//添加一条记录
insert(Stringtable,String nullColumnHack,ContentValues values)
//删除一条记录
delete(Stringtable,String whereClause,String[] whereArgs)
//查询记录
query(Stringtable,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy)
//修改记录
update(Stringtable,ContentValues values,String[] whereArgs)
//执行一条SQL语句
execsql(String sql)
//关闭数据库
close()
1. 打开或者创建数据库 –可以使用sqliteDatabase的静态方法openorCreateDatabase(String path,sqliteDatabase.CursorFactory factory)打开或者创建一个数据库。该方法的第一个参数是数据库创建路径,注意这个路径一定是数据库全路径。例如:/data/data/com.lovo/databases/dbname.db。第二个参数是指定返回一个Cursor子类的工厂,如果没有指定(null)则使用默认工厂。–下面的代码创建了一个temp.db数据库。
sqliteDatabase.openorCreateDatabase(getfilesDir().toString()+"/temp.db",null);
2.创建表 –创建一张表很简单。首先,编写创建表的SQL语句,然后,调用sqliteDatabase的execsql()方法便可以创建一张表了。public voID createtable(VIEw vIEw) {
String sql ="create table t_stu(s_ID integer primary key,s_name varchar(50),s_ageinteger)";
database.execsql(sql);
}
3. 增加、修改和删除数据 •方法一: –增加: insert(String table,ContentValues values) »该方法的第一个参数是表名称,第二个参数是空列的默认值,第三个参数是ContentValues类型的一个封装了列名称的列值的Map –修改: update(String table,String[] whereArgs) »该方法的第一个参数是表名称,第二个参数是更新列ContentValues类型的键-值对(Map),第三个参数是更新条件(where子句)、第四个参数是更新条件值数组。 –删除: delete(String table,String[] whereArgs) »该方法的第一个参数是表名称,第二个参数是删除条件,第三个参数是删除条件值数组
•方法二:调用sqliteDatabase的execsql()方法执行sql
4.查询数据 –查询也可以使用两种方法。 •方法一:Cursor query(String table,String orderBy,String limit) •各个参数的意义说明如下。 –table:表名称 –colums:列名称数组 –selection:条件子句,相当于where –selectionArgs:条件子句,参数数组 –groupBy:分组列 –having:分组条件 –orderBy:排序类 –limit:分页查询限制 –Cursor:返回值,相当于结果集ResultSet •方法二:通过方法Cursor rawquery(String sql,String [] selectionArgs)执行SQL语句。参数一是执行的sql,参数二是可替换的条件数组。 Cursor是一个游标接口
Cursor的部分方法介绍
方 法 名 称 | 方 法 描 述 |
getCount() | 总记录条数 |
isFirst() | 判断是否第一条记录 |
isLast() | 判断是否最后一条记录 |
movetoFirst() | 移动到第一条记录 |
movetoLast() | 移动到最后一条记录 |
move(int offset) | 移动到指定记录 |
movetoNext() | 移动到下一条记录 |
movetoPrevIoUs() | 移动到上一条记录 |
getColumnIndexOrThrow(String columnname) | 根据列名称获得列索引 |
getInt(int columnIndex) | 获得指定列索引的int类型值 |
getString(int columnIndex) | 获得指定列索引的String类型值 |
sqliteOpenHelper –sqliteOpenhelper是sqliteDatabase的一个帮助类,用来管理数据库的创建和版本更新。一般的用法是定义一个类继承之,并实现其两个抽象方法onCreate(sqliteDatabase db)和onUpgrade(sqliteDatabase db,int oldVersion,int newVersion)来创建和更新数据库。
sqliteOpenHelper常用方法
方 法 名 称 | 方 法 描 述 |
sqliteOpenHelper(Context context,String name,sqliteDatabase.CursorFactory factory,int version) | 构造方法,一般是传递一个要创建的数据库名称name参数 |
onCreate(sqliteDatabase db) | 创建数据库时调用 |
onUpgrade(sqliteDatabase db,int newVersion) | 版本更新时调用 |
getReadableDatabase() | 创建或打开一个只读数据库 |
getWritableDatabase() | 创建或打开一个读写数据库 |
以上是内存溢出为你收集整理的SQLite数据库全部内容,希望文章能够帮你解决SQLite数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)