sqlite 的基本操作以及数据库查询语句的基本格式

  1. // 在SqLite中创建表的语句
  2. //创建表SQL语句  
  3.       String stu_table="create table usertable(_id integer primary key autoincrement,sname text,snumber text)";  
    1. //执行SQL语句   
    2.       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来查询数据库中的数据,具体代码如下:

 
 
  1. private void query(SQLiteDatabase db)  
  2. {  
  3.    
  4.    //查询获得游标  
  5.    Cursor cursor = db.query   ("usertable",null,null,null,null,null,null);  
  6.    
  7.    //判断游标是否为空  
  8.    if(cursor.moveToFirst() {  
  9.    
  10.        //遍历游标  
  11.        for(int i=0;i<cursor.getCount();i++){  
  12.    
  13.             cursor.move(i);  
  14.  
  15.             //获得ID  
  16.             int id = cursor.getInt(0);  
  17.    
  18.             //获得用户名  
  19.             String username=cursor.getString(1);  
  20.    
  21.             //获得密码  
  22.             String password=cursor.getString(2);  
  23.    
  24.             //输出用户信息  
  25.             System.out.println(id+":"+sname+":"+snumber);  
  26.        }  
  27.    }   
  28. }  


   在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语句中一般包含前三行,后三行是为了更好地显示查询的结果,使用后面三行可以清晰、直观地显示查询结果。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值