- // 在SqLite中创建表的语句
-
- Stringstu_table="createtableusertable(_idintegerprimarykeyautoincrement,snametext,snumbertext)";
-
-
- db.execSQL(stu_table);
在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关查询的方法,具体方法如下: public Cursor query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);
各个参数的意义说明:
①table:表名称
②columns:列名称数组
③selection:条件字句,相当于where
④selectionArgs:条件字句,参数数组
⑤groupBy:分组列
⑥having:分组条件
⑦orderBy:排序列
⑧limit:分页查询限制
⑨Cursor:返回值,相当于结果集ResultSet
Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等.
Cursor游标常用方法
|
方法名称
方法描述
getCount()
获得总的数据项数
isFirst()
判断是否第一条记录
isLast()
判断是否最后一条记录
moveToFirst()
移动到第一条记录
moveToLast()
移动到最后一条记录
move(int offset)
移动到指定记录
moveToNext()
移动到下一条记录
moveToPrevious()
移动到上一条记录
getColumnIndexOrThrow(String columnName)
根据列名称获得列索引
getInt(int columnIndex)
获得指定列索引的int类型值
getString(int columnIndex)
获得指定列缩影的String类型值
下面就是用Cursor来查询数据库中的数据,具体代码如下:
- privatevoidquery(SQLiteDatabasedb)
- {
-
- //查询获得游标
- Cursorcursor=db.query("usertable",null,153)">null);
-
- //判断游标是否为空
- if(cursor.moveToFirst(){
-
- //遍历游标
- for(inti=0;i<cursor.getCount();i++){
-
- cursor.move(i);
- //获得ID
- intid=cursor.getInt(0);
-
- //获得用户名
- Stringusername=cursor.getString(1);
-
- //获得密码
- Stringpassword=cursor.getString(2);
-
- //输出用户信息
- System.out.println(id+":"+sname+":"+snumber);
- }
- }
- }
在SQL中,select语句的基本格式如下:
select [all distinct] select_list
from table_list/view_list
[where conditions]
[group by group_list]
[having conditions]
[order by order_list]
下面对select语句的语法进行一下分析:
第一行关键字select后的select_list列出了所选择列的名称,在检索后系统将列出符合条件的列的数据。select关键字之后可选的关键字all表示将显示所有检索到的数据(包括重复的数据),distince表示不在结果中显示重复数据。
第二行关键字from之后,指定要进行检索的表的名称table_list或视图的名称view_list。from后面可以是一张表,也可以是多张表。
第三行关键字where之后,可以指定检索的条件,使select语句按照指定的检索条件在表中检索数据。要注意检索条件可以来源于一张表,也可以来源于多张表。
第四行关键字group by指定如何对检索到的数据进行分组,使显示结果按照用户的需要分好组,产生可读性更好的结果。
第五行关键字having子句可以看成用于组的where子句。having子句用来限制组,就像排好序,产生可读性更好的结果。
最基本的select语句中一般包含前三行,后三行是为了更好地显示查询的结果,使用后面三行可以清晰、直观地显示查询结果。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!