SQLite的使用
2015-09-13 13:44
330 查看
1. SQLiteDatabase类
(对 SQLite数据库增、删、改、查的操作)
常用方法
1、execSQL(String sql);
2、execSQL(String sql, String[] args);
示例:删除 person表中personId=1的记录:
SQLiteDatabase db=this.getWritableDatabase();
db.execSQL(“delete from person where personId=?”,new
String[]{“1”});
db.execSQL(“delete from person where personId=1”);
提示:this是 SQLiteOpenHelper类的实例,该类稍后介绍。
3、long insert(TABLE_NAME, String nullColumnHack, ContentValues
contentValues);
作用:添加记录。
参数-TABLE_NAME:表名。
参数-nullColumnHack:若插入的数据是空行,则本参数必须设置为 null。
参数-contentValues:Map
类型的数据,每组键-值对代表一列及其该列的数据
4、int delete(TABLE_NAME, String where, String[] whereValue);
作用:删除记录。
参数-TABLE_NAME:表名。
参数-where:删除的条件,相当于
SQL语句中的where部分的 SQL命令。
参数-whereValue:符合参数
where的数据。该值是 String[]类型的数组。
示例:删除当前数据库中表peson中,字段
personId值为1的行,代码如下:
delete(“person”,”personId=?”,newString[]{“1”});
5、int update(TABLE_NAME, contentValues,String where, String[]
whereValue) ;
作用:更新记录。
参数-TABLE_NAME:表名。
参数-contentValues:Map
类型的数据,每组键-值对代表一列及其该列的数据。可
存放多个键-值对数据,代表需要更新的数据。
参数-where:更新的条件,相当于
SQL语句中的where部分的 SQL命令。
参数-whereValue:符合参数
where的数据。该值是 String[]类型的数组。
示例:更新当前数据库的person表中,personId=1的记录,代码如下:
ContentValues values=new ContentValues();//创建可存操作的键-值对的对
象
values.put(“name”,”李四”);//存放姓名数据
values.put(“phone”,”13315577889”);//存放电话数据
//实例化SQLiteDatabase对象
SQLiteDatabase db=this.getWritableDatabase();
db.update(“person” ,values,”personId=?”,new String[]{“1”);//更新
数据
6、Cursor rawQuery(String sql,String[]selectionArgs);
作用:执行带占位符的 SQL查询,返回的结果集存放在
Cursor对象中。
参数-sql:查询的
SQL命令。
参数-selectionArgs:查询的条件数据。
提示:
(1)Cursor类稍后介绍。
(2)若 sql中没有占位符,则第二个参数设置为
null。
(3)
对数据表进行变更操作时,使用execSQL,对数据表进行查询时,使用rawQuery
方法。
7、 Cursorquery(table,projection,selection,selectionArgs,groupby,having,orderby)
作用:执行带占位符的 SQL查询,返回的结果集存放在 Cursor对象中。
cursor :
返回值类型,返回查询结果游标对象。
table : String ,要查询的表名。
projection : String[]
,要查询的列名,如果为 null,则查询所有列。
selection : String,查询条件。
selectionArgs:String[]为selection中的?补值的数组。
groupby : String,分组列的列名。
having:String,分组在查询的条件。
orderby:String
排序列的列名。
8、Context.openOrCreateDatabase(Stringdbname,int mode);
作用:打开数据库,若数据库未创建则创建数据库。
参数-dbname:数据库文件名。
参数-mode:访问权限,有以下常量选择:
1、MODE_PRIVATE:不允许其它应用程序访问本数据库。
2、MODE_WORLD_READABLE:允许其它应用程序读本数据库。
3、MODE_WORLD_WRITEABLE:允许其它应用程序写本数据库。
4、MODE_APPEND:若数据库已存在,则允向数据库中许添加数据。
(三)ContentValues类
1.概述
ContentValues类包装了HashMap类,该类用于存取键-值对的数据,每个键-值对数
据表示一列的列名和该列的数据。
2.常用方法
1、ContentValues();
作用:无参构造方法,创建一个内部成员变量为 HashMap<String,Object>的对象。该
成员变量名为 mValues。
示例:ContentValues values=new ContentValues();
2、void put(String key,Object value);
作用:向成员变量 mValues中存放一个键-值对数据。
提示:value可以是
Java的所有基本数据类型、数组、对象的类型。
3、Object get(String key);
作用:获取键名 key对应的值。
4、XXX getAsXXX(String key);
作用:返回 XXX类型的值。
提示:XXX可以是所有基本类型的包装类,如
Integer,还有AsByteArray(字节数组
类型)。
(四)SQLiteOpenHelper类
1.概述
SQLiteOpenHelper类是Android提供的用于操作
SQLite数据库的工具类,该工具类能
方便地创建数据库、表,以及管理数据库版本。
2.常用方法
1、 synchronized SQLiteDatabasegetReadableDatabase();
作用:以读写的方式打开数据库对应的 SQLiteDatabase类的对象。
提示:synchronized关键字定义该方法为线程同步。
2、 synchronized SQLiteDatabasegetWriteableDatabase();
作用:以写的方式创建或打开数据库对应的 SQLiteDatabase类的对象。
3、 abstract onCreate(SQLiteDatabase db);
作用:首次创建数据库时,回调本方法。
(对 SQLite数据库增、删、改、查的操作)
常用方法
1、execSQL(String sql);
2、execSQL(String sql, String[] args);
示例:删除 person表中personId=1的记录:
SQLiteDatabase db=this.getWritableDatabase();
db.execSQL(“delete from person where personId=?”,new
String[]{“1”});
db.execSQL(“delete from person where personId=1”);
提示:this是 SQLiteOpenHelper类的实例,该类稍后介绍。
3、long insert(TABLE_NAME, String nullColumnHack, ContentValues
contentValues);
作用:添加记录。
参数-TABLE_NAME:表名。
参数-nullColumnHack:若插入的数据是空行,则本参数必须设置为 null。
参数-contentValues:Map
类型的数据,每组键-值对代表一列及其该列的数据
4、int delete(TABLE_NAME, String where, String[] whereValue);
作用:删除记录。
参数-TABLE_NAME:表名。
参数-where:删除的条件,相当于
SQL语句中的where部分的 SQL命令。
参数-whereValue:符合参数
where的数据。该值是 String[]类型的数组。
示例:删除当前数据库中表peson中,字段
personId值为1的行,代码如下:
delete(“person”,”personId=?”,newString[]{“1”});
5、int update(TABLE_NAME, contentValues,String where, String[]
whereValue) ;
作用:更新记录。
参数-TABLE_NAME:表名。
参数-contentValues:Map
类型的数据,每组键-值对代表一列及其该列的数据。可
存放多个键-值对数据,代表需要更新的数据。
参数-where:更新的条件,相当于
SQL语句中的where部分的 SQL命令。
参数-whereValue:符合参数
where的数据。该值是 String[]类型的数组。
示例:更新当前数据库的person表中,personId=1的记录,代码如下:
ContentValues values=new ContentValues();//创建可存操作的键-值对的对
象
values.put(“name”,”李四”);//存放姓名数据
values.put(“phone”,”13315577889”);//存放电话数据
//实例化SQLiteDatabase对象
SQLiteDatabase db=this.getWritableDatabase();
db.update(“person” ,values,”personId=?”,new String[]{“1”);//更新
数据
6、Cursor rawQuery(String sql,String[]selectionArgs);
作用:执行带占位符的 SQL查询,返回的结果集存放在
Cursor对象中。
参数-sql:查询的
SQL命令。
参数-selectionArgs:查询的条件数据。
提示:
(1)Cursor类稍后介绍。
(2)若 sql中没有占位符,则第二个参数设置为
null。
(3)
对数据表进行变更操作时,使用execSQL,对数据表进行查询时,使用rawQuery
方法。
7、 Cursorquery(table,projection,selection,selectionArgs,groupby,having,orderby)
作用:执行带占位符的 SQL查询,返回的结果集存放在 Cursor对象中。
cursor :
返回值类型,返回查询结果游标对象。
table : String ,要查询的表名。
projection : String[]
,要查询的列名,如果为 null,则查询所有列。
selection : String,查询条件。
selectionArgs:String[]为selection中的?补值的数组。
groupby : String,分组列的列名。
having:String,分组在查询的条件。
orderby:String
排序列的列名。
8、Context.openOrCreateDatabase(Stringdbname,int mode);
作用:打开数据库,若数据库未创建则创建数据库。
参数-dbname:数据库文件名。
参数-mode:访问权限,有以下常量选择:
1、MODE_PRIVATE:不允许其它应用程序访问本数据库。
2、MODE_WORLD_READABLE:允许其它应用程序读本数据库。
3、MODE_WORLD_WRITEABLE:允许其它应用程序写本数据库。
4、MODE_APPEND:若数据库已存在,则允向数据库中许添加数据。
(三)ContentValues类
1.概述
ContentValues类包装了HashMap类,该类用于存取键-值对的数据,每个键-值对数
据表示一列的列名和该列的数据。
2.常用方法
1、ContentValues();
作用:无参构造方法,创建一个内部成员变量为 HashMap<String,Object>的对象。该
成员变量名为 mValues。
示例:ContentValues values=new ContentValues();
2、void put(String key,Object value);
作用:向成员变量 mValues中存放一个键-值对数据。
提示:value可以是
Java的所有基本数据类型、数组、对象的类型。
3、Object get(String key);
作用:获取键名 key对应的值。
4、XXX getAsXXX(String key);
作用:返回 XXX类型的值。
提示:XXX可以是所有基本类型的包装类,如
Integer,还有AsByteArray(字节数组
类型)。
(四)SQLiteOpenHelper类
1.概述
SQLiteOpenHelper类是Android提供的用于操作
SQLite数据库的工具类,该工具类能
方便地创建数据库、表,以及管理数据库版本。
2.常用方法
1、 synchronized SQLiteDatabasegetReadableDatabase();
作用:以读写的方式打开数据库对应的 SQLiteDatabase类的对象。
提示:synchronized关键字定义该方法为线程同步。
2、 synchronized SQLiteDatabasegetWriteableDatabase();
作用:以写的方式创建或打开数据库对应的 SQLiteDatabase类的对象。
3、 abstract onCreate(SQLiteDatabase db);
作用:首次创建数据库时,回调本方法。
相关文章推荐
- oracle 如何把一个表中的数据复制到另一个表中
- mysql --设置root 密码
- Memcached 源码安装 与 配置
- MVCC实现-MYSQL INNODB MVCC实现
- [EF]vs15+ef6+mysql code first方式
- oracle ocfs2 安装配置
- WINDOWS下运行ORACLE SQLPLUS时报错Message file sp1<lang>.msb not found问题解决
- [Sqlite] Sqlite的基本日常SQL操作语句汇总
- 数据库范式详解
- 海量数据处理的SQL性能优化
- MongoDB学习之在Windows下安装MongoDB
- mysql亿级数据优化
- oracle rac 10201升级到10205
- 安装mysql
- SQlite的数据库查询
- mysql中join的四种连接
- 基于Python,scrapy,redis的分布式爬虫实现框架
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- MongoDB学习之在Linux下安装MongoDB
- oracle等待事件以及解决方案