Android系列学习:SQLiteDatabase

android 系列学习之SQLiteDatabase

 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

下面简单的简述sqlite的创建以及增删查改。

创建:    创建sqlite数据库,首先的创建一个 SQLiteOpenHeper   的之类并实现相应的方法。

//SQLiteOpenHelper 的子类 “usc”为数据库名
        OpenHelper openHelper = new OpenHelper(this, "usc");
        //获取数据库的链接对象
        readableDatabase = openHelper.getReadableDatabase();
        //创建数据库表的sql
        String sql = "create table " + table + " (id int,name varchar(10))";
        if(readableDatabase == null){
            //发送数据库的执行语句,创建表
            readableDatabase.execSQL(sql);
        }

 插入数据:     

       //将需要插入数据库的数据封装在contentValues中
        ContentValues contentValues = new ContentValues();
        //put的数据的键需要与数据库表的字段保持一致,不然会抛异常的
        contentValues.put("id", 1);
        contentValues.put("name", "gaosi");
        //返回的是下一行的行数(第一行空的行数)
        long insert = readableDatabase.insert(table, null, contentValues);


   //使用sql语句也是可行的

String sql = "INSERT INTO " + table + "  VALUES ( "+2+" , 'USC');";
        readableDatabase.execSQL(sql);

   

查询:  (使用execSQL查询可就不太好了,返回类型void)

String[] strings = {"id", "name"};
        //查询获取到的结果集
        Cursor cursor = readableDatabase.query(table,//表名
                strings, //返回的字段
                "id=1", //查询条件
                null, //查询条件若带有问号,这里既是问号所包括数据数组,没有即为null
                null, //分组的字段
                null, //having 
                null //排序方式
        );
        while (cursor.moveToNext()) {
            String name = cursor.getString(cursor.getColumnIndex("name"));
            Log.e("name", name);
        }

 修改数据:

ContentValues contentValues = new ContentValues();
        //将需要修改的数据先封装到contentValues当中
        contentValues.put("name", "gaosi");
        //表中需要修改数据的字段数据
        String[]strings = {"lilin"};
        readableDatabase.update(table, //需要修改的表名
                contentValues,//需要提交修改的数据
                "name=?",//修改数据的条件,问号即为待定的值
                strings);//修改数据的条件问号所代表的值

 使用sql修改

String sql = "UPDATE "+table+" SET name = 'usc' where id =2;";
        readableDatabase.execSQL(sql);

删除:

        String[] strings = {"gaosi"};
        readableDatabase.delete(table, //需要删除数据的表名
                "name=?",//删除的条件,问号为待定的值
                strings);//删除数据的条件当中,问号所取值数据

 //使用sql

String sql = "delete from "+table+" where id = 2;";
        readableDatabase.execSQL(sql);

猜你喜欢

转载自gaosililin.iteye.com/blog/2243603