Android之SQLiteDatabase


一、SQLiteDatabase概念

用于管理和操作SQLite数据库,几乎所有的数据库操作,最终都将由这个类完成

在这里插入图片描述

getReadableDatabase() 返回的就是SQLiteDatabase

SQLiteDatabase db=helper.getReadableDatabase(); 获取该类的对象

有下列三种可能情况:

1、数据库存在,则直接打开数据库
2、数据库不存在,则调用数据库创建方法,再打开数据库
3、数据库存在,但版本号升高了,则调用数据库升级方法


二、SQLiteDatabase对象的操作

1、rawQuery() 查询 对应于 select * from 表名这样的操作

返回值是Cursor

对于Cursor的解释可以参考资料:

Android之SimpleCursorAdapter

2、execSQL() 添加、删除、修改、创建表 (execte 执行SQL语句)

无返回值


三、四个方法

1、insert

构造函数:

publiclong insert (String table, String nullColumnHack, ContentValues values)

返回值类型是long,代表的是刚刚添加的那条数据的id

参数解释:

参数1:table,你所要操作的数据库表的名称

参数2:nullColumnHack,可以为空的列

参数3:values,如果第三个参数是null或者说里面没有数据,那么我们的sql语句就会变为insert into info_tb () values () ,在语法上就是错误的此时通过参数3指定一个可以为空的列,语句就变成了insert into info_tb(可空列) values(null)

示例:

private SQLiteDatabase db;
ContentValues values = new ContentValues();
//insert into 表名(列1,列2) values(值1,值2)
//values(值1,值2)这一部分交给ContentValues操作
values.put("name",nameStr);
values.put("age",ageStr);
values.put("gender",genderStr);
db.insert("test_tab",null,values);

2、query查询

参考资料:SQLiteDatabase.query()各个参数的意义

构造函数:

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

返回值类型是Cursor

参数解释:

select 列名 from 表名 where 列1=值1 and 列2=值2

参数1:table,表名

参数2:colums,你所要查询的列名 {“name”,“age”,“gender”}
如果想要查询所有的话,传入null或{*}

参数3:selection,知道where的约束条件(针对列)(不要条件的话传入null)

参数4:slectionArgs,为where中的占位符提供具体的值

参数5:groupBy,相当于SQL语句中的==“group by”==关键字,分组

参数6:having,当 group by对数据进行分组后,可以通过having来去除不符合条件的组

参数7:行的排列方式,相当于SQL语句中的==“order by”==关键字,传递null表示使用默认的排序方式,可能是无序排列

聚合函数:用于统计的函数
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225143326992.png
在这里插入图片描述

1、count(列名):统计总数

①统计表中的记录数
在这里插入图片描述

②通过group by分别统计各个年龄阶段的人数

在这里插入图片描述
③通过having来去除不符合条件的组
在这里插入图片描述
④通过order by进行排序,默认升序,desc降序
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值