Android App使用SQLite数据库的一些要点总结

2019-12-10 18:40:41于丽

4.增删查改的相关参数:

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");