Android自带SQLite数据库查询语句query的用法

今天在调试APP的时候,用到了SQLite的query 查询语句,去年编码时间紧没认真琢磨query的用法,当时用到query时为了省事省时直接用下面的:
Cursor cursor = db.query(tableName,null,null,null,null,null,null);
好在系统小功能简单数据量小,系统和数据占内存少没有明显的影响性能的地方,今天再看到这一行的null,心中不禁汗颜,不明觉厉的不好意思起来,除了表名之外,一律填写null,实在是不应该。对于数据量较大的一张表数据来说,把所有的字段都读出来实在不是明智之举。于是赶紧翻了翻相关书籍,书上对query()的用法说明(见下图)。

Android自带SQLite数据库查询语句query的用法_第1张图片

SQLITE之QUERY方法 详解

用惯了sql查询语句,对于一个sql语句习惯于表达如下:
select column1,column2... from table where column3=? group by column4 having column4=? order by column1,column2

用惯了上面常规SQL语句,对于sqlite的这种表达方式还真有点不习惯,一时转不过弯来,对照着上图,我盯着仔细琢磨了一下,突然间恍然大悟,query用法其实就是按照sqlite的规定格式把null填写上,当然这好像是废话,本来就是按照格式填写上对应的字段,举例来说,对于下面这句:
db.query(tableName,null,null,null,null,null,null);
为了准确表达,我稍加改造一下:
db.query(tableName,null1,null2,null3,null4,null5,null6);
你可以这样理解:
select null1 from tableName where null2=null3 group by null4 having null5 order by null6
对于上面的null1。。。null6,一定注意对应的是String还是String[]。

好了,今天就简单写这点,祝大家好运!

你可能感兴趣的:(Android自带SQLite数据库查询语句query的用法)