android原始sqlite中query的复杂用法

 

android直接执行sql是execSQL(String sql)。

这个方法可以执行任意sql语句。但是改变这个不够灵活。

query这个方法可以很好的解决这个问题。

执行query查询指定的数据表返回一个带游标的数据集

工具/原料

  • 编译工具:Eclipse

方法/步骤

  1.  

    因为只是介绍一个sqlite的方法,我们这里就不解释项目结构什么的。

    建表等我们也不说了。

     

    (Cursor) query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

  2.  

    现在对参数的解释

    String table: 要查询的那个表

     

    String[] columns: 返回那一列,如果参数是null,则返回所有列。

    (不过不推荐这个样子)

     

    String selection: 返回那一行的过滤器。

    (格式是SQL的WHERE,设置为null,返回这个table的所有行)

    android原始sqlite中query的复杂用法
  3.  

    String[] selectionArgs: 在selection字段中可能会用'?'的形式来加一些额外的参数。

     

    String groupBy: 一个过滤器,如何来分组。(设置为null则不分组)

     

     

     

    android原始sqlite中query的复杂用法
  4.  

    String having: 分组后聚合的过滤条件。(作用和sql语句的having作用一样)

     

    String orderBy: 排序,格式是SQL的ORDER一样。

    (设置null使用默认(无序unonder)排列。)

     

     

     

    android原始sqlite中query的复杂用法
  5.  

    String limit: 返回的行数,设置为null表示没有限制条款。

     

    例子如下图:

    android原始sqlite中query的复杂用法
  6.  

    query返回一个Cursor。

    针对游标(Cursor)也提供了不少方法

     

    getCount():总记录条数

    isFirst():判断是否第一条记录

    isLast():判断是否最后一条记录

    moveToFirst():移动到第一条记录

    moveToLast():移动到最后一条记录

    move(int offset):移动到指定的记录

    moveToNext():移动到吓一条记录

    moveToPrevious():移动到上一条记录

    getColumnIndex(String columnName):获得指定列索引的int类型值

     

    android原始sqlite中query的复杂用法
  7.  

    sql语句中聚合函数的编写为例如:SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 SELECT SUM(population) FROM bbc

    android原始sqlite中query的复杂用法
  8.  

    sql语句中having是分组(group by)后的筛选条件,分组后的数据组内再筛选where则是在分组前筛选。

     

    通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于一组的数据起作用。

     

    HAVING子句可以让我们筛选成组后的各组数据。 WHERE子句在聚合前先筛选记录。也就是说作用在GROUP BY 子句和HAVING子句前。而 HAVING子句在聚合后对组记录进行筛选。 

    END

注意事项

转载于:https://www.cnblogs.com/mochaMM/p/5112703.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值