SQLite

SQLite是一个轻型的数据库系统,常用于Android应用中实现数据存储。通过getWritableDatabase()和getReadableDatabase()获取数据库,用execSQL()和rawQuery()执行SQL命令进行数据的增删改查。ContentValues用于方便地构造更新数据。事务处理则通过beginTransaction()、setTransactionSuccessful()和endTransaction()来确保数据一致性。

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。

它设计目标是嵌入式,力求占用资源较低,处理速度较快;它支持Windows/Linux/Unix等等主流的操作系统,同时也支持很多语言(Java,php,.Net等)。

总的来说,SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。

sqlite实现流程:建数据库,实例化数据库,执行增删改查。

getWritableDatabase():得到一个可写的数据库

getReadbleDatabase():得到一个只可读的数据库

execSQL():执行增删改语句,参数一(sql语句)参数二(为条件中的?赋值)

rawQuery():执行查询语句,参数一(sql语句)参数二(为条件中的?赋值),返回cursor游标,遍历游标获取数据

moveToNext():游标向下移动一行

getCulumnIndex():根据字段名称获得字段的下标

close():关闭游标,防止内存泄漏

SQLite:使用方法执行增删改查:

添加:

   public void insert(View view) {
//        sqLiteDatabase.execSQL("insert into student values (?,?,?)",new String[]{null,"邓紫棋","21"});
//        sqLiteDatabase.execSQL("insert into student values (?,?,?)",new String[]{null,"蔡徐坤","22"});
        ContentValues contentValues = new ContentValues();
        contentValues.put("name","周杰伦");
        contentValues.put("age",30);
        sqLiteDatabase.insert("student",null,contentValues);
    }

删除:

    public void delete1(View view) {
        sqLiteDatabase.execSQL("delete from student");
    }

    public void delete(View view) {
//        sqLiteDatabase.execSQL("delete from student where name=?",new String[]{"蔡徐坤"});
        sqLiteDatabase.delete("student","age=?",new String[]{"30"});
    }

修改:

    public void update(View view) {
//        sqLiteDatabase.execSQL("update student set name = ? where age = ?",new String[]{"鸡哥","21"});
        ContentValues contentValues = new ContentValues();
        contentValues.put("name","郁金香");
        sqLiteDatabase.update("student",contentValues,"name=?",new String[]{"周杰伦"});

    }

查找:

    public void select(View view) {
//        Cursor cursor = sqLiteDatabase.rawQuery("select * from student",null);
        Cursor cursor = sqLiteDatabase.query("student",null,null,null,null,null,null);
        if (cursor!=null){
            while (cursor.moveToNext()) {
                int id = cursor.getInt(cursor.getColumnIndex("id"));
                String name = cursor.getString(cursor.getColumnIndex("name"));
                String age = cursor.getString(cursor.getColumnIndex("age"));
                Log.i("---select",id+"  "+name+" "+age);
            }
            cursor.close();
        }
    }

事务:

public void trasldata(View view) {
        sqLiteDatabase.beginTransaction();
        for (int i=0;i<20;i++){
            ContentValues contentValues = new ContentValues();
            contentValues.put("name","桃花"+i);
            contentValues.put("age","11"+i);
            sqLiteDatabase.insert("student",null,contentValues);
        }
        sqLiteDatabase.setTransactionSuccessful();
        sqLiteDatabase.endTransaction();
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值