SQLite数据库
Android提供了创建和使用SQLite数据库的API。
SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法,另外还有一个SQLiteOpenHelper工具类提供了更简洁的功能。在Android的SDK目录下有sqlite3工具,我们可以利用它来创建数据库、创建表和执行一些SQL语句。
SQLiteDatabase常用方法
//创建或打开数据库
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的部分方法介绍 |