数据存储--SQLite增删改查

  • 数据库的添加数据,SQLiteDatabase提供了一个insert()方法,专门用于添加数据。
                contentValues.put("name","张三");
                contentValues.put("age",18);
                contentValues.put("clazz","计算机1301班");
                db.insert("book",null,contentValues);
                contentValues.clear();
                contentValues.put("name","李四");
                contentValues.put("age",25);
                contentValues.put("clazz","土木1403班");
                db.insert("book",null,contentValues);
                contentValues.clear();
  • db.insert(“book”,null,contentValues),这个方法接收三个参数
  • 第一个参数是表名,我们要添加数据的表的名称
  • 第二个参数是用于未指定添加数据的情况下,给某些可为空的列自动赋值为null,一般不用,所以传NULL
  • 第三个参数是一个contentValues对象,它提供了一系列的put()方法的重载,,用于向contentValues中添加数据,吱需要将每个列名及对应的数据传入即可。
  • 数据库的更新数据,SQLiteDatabase提供了一个update()方法
                contentValues.put("clazz","家里蹲大学");
                //将名字为张三的clazz字段改为家里蹲大学
                db.update("book",contentValues,"name=?",new String[]{"张三"});
                contentValues.clear();
  • db.update(“book”,contentValues,”name=?”,new String[]{“张三”})方法接收四个参数
  • 第一个参数是表名
  • 第二个参数是contentValues对象
  • 第三、四个参数是用于去约束某一行或几行的数据,不指定的话就默认更新所有行。
  • 数据库的删除数据,SQLiteDatabase提供了一个delete()方法
//删除年龄小于20岁的学生信息
db.delete("book","age<?",new String[]{"20"});
  • 这个方法接收三个参数
  • 第一个参数是表名
  • 第二、三个参数是用于去约束删除某一行或者某几行的数据,不指定的话就默认删除所有行。
  • 数据库的查询数据,SQLiteDatabase提供了一个query()方法
                Cursor cursor=db.query("book",null,null,null,null,null,null);
                if (cursor.moveToFirst()){
                    do {
                        String name=cursor.getString(cursor.getColumnIndex("name"));
                        int age=cursor.getInt(cursor.getColumnIndex("age"));
                        String clazz=cursor.getString(cursor.getColumnIndex("clazz"));

                        Toast.makeText(MainActivity.this, name + age + clazz, Toast.LENGTH_SHORT).show();

                    }while (cursor.moveToNext());
                    cursor.close();
                }
  • db.query(“book”,null,null,null,null,null,null)方法接收七个参数
  • 第一个参数是表名
  • 第二个参数用于指定查询哪几列,默认查询所有列
  • 第三、四个参数用于去约束某一行或某几行的数据,默认查询所有行
  • 第五个参数用于指定需要去group by的列,默认不进行group by操作
  • 第六个参数用于对group by之后的数据进一步过滤,默认不过滤
  • 第七个参数用于指定查询结果的排序方式,不指定按默认排序。

  • 查询结果为一个cursor对象,通过对cursor对象的遍历,及可以获得所有的查询数据。

  • 各个操作执行之后,效果图如下
    这里写图片描述
    这里写图片描述

使用SQL操作数据库
  • 我们还可以直接使用sql语句进行数据库的操作
db.execSQL("insert into book(name,author,prices,pages)values(?,?,?,?)",new String[]{"大学语文","谁知道呢","15.42","200"});
db.execSQL("update book set price = ? where name = ?",new String[]{"9.9","英语"});
db.execSQL("delete from book set where name = ?",new String[]{"英语"});
db.rawQuery("select * from book",NULL);
  • 这种查询方法与上面一样,看自己喜好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值