查询数据库:
两种方式--
第一种方式:类似INSERT UPDATE DELETE,有两种方法使用select 从SQLite数据库检索数据。
使用rawQuery()直接调用select 语句,使用query() 方法构建一个查询。
小贴士:
* onCreate(); 该方法在数据库第一次创建的时候调用,只调用一次;
* onUpgrade(); 该方法在数据库版本更新的时候调用;
* T-SQL: 国际标准机制
DDL:数据定义语言:create drop alter;
DCL: 数据控制语言:grant revoke;
DML: 数据管理语言:insert delete update select ;
* select 列的列表 from 表的列表 where 条件语句 group by 分组属性 having 分组条件 order by 排序列 asc|desc limit m, n;
* 游标:游标的实质使一种能从包括多条数据记录的结果集种每次提取一条记录的机制;
游标的使用,Cursor的方法:
* close(); 关闭游标 ,释放资源;
* copyStringToBuffer(int columnIndex,CharArrayBuffer buffer); 在缓冲区中检索请求的列的文本,将其存储;
* getColumnCount(); 返回所有列的行数;
* getColumnIndex(String columnName); 返回指定的列,如果不存在那么返回-1;
* getColumnIndexOrThrow(String columnName);从0开始返回指定列的名称,如果不存在将抛出异常;
* getColumnName(int columnIndex); 从给定的索引返回列名;
* getColumnNames(); 返回一个字符串数组的列名;
* moveToFirst(); 将游标移动到第一条;
* moveToLast(); 将游标移动到最后一条;
* move(int offset); 将游标移动到指定ID;
* moveToNext(); 将游标移动到下一条;
* moveToPrevious(); 将游标移动到上一条;
* getCount(); 得到游标总记录条数;
* isFirst(); 判断当前游标是否为第一条数据;
案例:创建一个数据库,并在数据库第一次创建的时候初始化创建一张表student,添加记录,
然后查询数据库种表的数据,显示出来;
java代码如下:
/* 查询数据库 *//* 返回一个游标对象 */
public Cursor selectData(){
/* 与数据库获得连接,获得只读属性 */
SQLiteDatabase sqliteDatabase = dbhelper.getReadableDatabase();
/* 使用游标保存得到的结果集 *//* 参1:查询语句 ; 参2:查询条件 */
//Cursor cursor = sqliteDatabase.rawQuery("select * from student", null);
/* 使用查询语句:方式二
* @ distinct --是否去除重复行 例:值为:true/false;
* @ table --表名
* @ columns --要查询的列 例: new String[]{"id","name","age"}
* @ selection --查询条件 例:"id>?"
* @ selectionArgs --查询条件的参数 例:new String[]{"3"}
* @ groupBy --对查询的结果进行分组
* @ having --对分组的结果进行限制
* @ orderby --对查询的结果进行排序; 例:"age asc"
* @ limit --分页查询限制 ; 例:"2,5" 从第2行开始,到第5行结束;注:行数从0 开始;
* */
Cursor cursor = sqliteDatabase.query(true,"student", new String[]{"_id","name","age"}, "_id>?", new String[]{"1"}, null, null, "age desc", "1,5");
/* 使用游标---获取游标中的数据 */
while(cursor.moveToNext()){
String id = cursor.getString(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String age = cursor.getString(cursor.getColumnIndex("age"));
Toast.makeText(MainActivity.this, "_id="+id+" name="+name+" age="+age, 1000).show();
}
return cursor;
}
分享到:
相关推荐
Android之Sqlite数据库操作实例
android之SQLite数据库开发详解: Android 开发中使用 SQLite 数据库 简介: SQLite 是一款非常流行的嵌入式数据库,它支持 SQL 查询,并且只用很少的内存。Android 在运行时集成了 SQLite,所以每个 Android 应用...
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。...SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。 SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
Android Studio SQLite数据库使用
Android使用SQLite数据库进行增删改查详细案例...
Android 数据库SQLite 详解,简单学好SQLite
一个android读取sqlite数据库的数据并用listview显示demo,如有问题及时提醒。
android对sqlite数据库的操作
该代码实现了android的sqlite数据库的加密和解密
Android 绿豆通讯录( SQLite数据库 + ListView数据展示控件 ) https://blog.csdn.net/weixin_44949135/article/details/106029404 采用 SQLite数据库 + ListView数据展示控件,可将用户添加的所有信息,分条...
资源名称:android中sqlite数据库的创建以及增删改查 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
Android 操作 SQLite数据库 Android 操作 SQLite数据库 Android 操作 SQLite数据库
android studio SQLite数据库的创建、增删改查操作 SharedPreferences存储数据的方法 掌握文
Android之SQLite数据库的使用 Android之SQLite数据库的使用 Android之SQLite数据库的使用
Android实验报告Sqlite数据库操作.pdf
Android连接sqlite数据库进行增删改查和事务操作
Android 操作 sqlite 数据库增加修改删除 Android 操作 sqlite 数据库增加修改删除 Android 操作 sqlite 数据库增加修改删除
基于Android的SQLite数据库操作Demo
Android操作SQLite数据库Demo,实现对数据库的创建,升级,增删查改,用子线程做,避免主线程阻塞。(用Android Studio打开)
Android_SQLite数据库使用范例