数据存储之SQLite(2)

本章对使用android内部提供的方法增、删、改、查语句中用到的参数做一个讲解:
table:查询数据的表名
columns: 要查询出来的列名
whereClause: 查询条件子句,允许使用占位符”?”
whereArgs: 用于为占位符传入参数值
groupBy:用于控制分组
having:用于对分组进行过滤
orderBy:用于对记录进行排序

ContentValues是对key/value的一个包装,使用它可以将要插入或者要修改的数据以key/value的形式进行封装,在使用相应增改方法的时候直接使用。
它有两个存入和取出两个方法:

put(String key,Xxx);
getAsXxx(String Key);

下面一个实例,使用内置函数操作数据库增删改查:

    SQLiteDatabase db =  openOrCreateDatabase("user.db", MODE_PRIVATE, null);
    db.execSQL("create table if not exists usertb(_id integer primary key autoincrement, name text not null, age integer not null, sex integer not null) ");
    
    //在执行增、改方法之前,先创建insert方法中的一个ContentValues对象,再对这个对象存入数据,存完后把values插入
    ContentValues values = new ContentValues();  
    //增
    values.put("name", "张三");
    values.put("age",18);
    values.put("sex","男");
    db.insert("usertb", null, values);   //插入方法的返回值是一个long,表示新添记录的行号
    values.clear();     //在插入下一条数据前需要把values清空,再对values存入新数据
    values.put("name", "李四");
    values.put("age",19);
    values.put("sex","男");
    db.insert("usertb", null, values);   
    values.clear();
    values.put("name", "王五");
    values.put("age",20);
    values.put("sex","男");
    db.insert("usertb", null, values);   
    values.clear();
    //改  (将id大于的性别改成女
    values.put("sex", "女");
    db.update("usertb", values, "_id >?", new String[]{"2"});
    //删  (将名字里带三的人删除)
    db.delete("uesrtb", "name like ?", new String [] {"%三%"});
    //查 (查询usertb这张表,所有行都差,_id >0的数据都查,查询出的数据按照name排序)
    Cursor c = db.query("usertb", null, "_id > ?", new String[]{"0"}, null, null, "name");

   c.close();

   //关闭当前数据库
   db.close();
   //删除user.db数据库(注意不是表名table)
    deleteDatabase("user.db");
    原文作者:陈利健
    原文地址: https://www.jianshu.com/p/df17878db799
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞