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