数据保存(三):数据库
2015-11-04 00:24
483 查看
一、继承SQLiteOpenHelper类
二、获取SQLiteDatabase类
三、增
四、删
五、改
六、查
七、原子操作
原子操作可以确保若干条操作语句一起成功或者一起失败。
public class MySQLiteOpenHelper extends SQLiteOpenHelper { public static final int DATABASE_VERSION = 1; public static final String DATABASE_NAME = "数据库的名称.db"; public MySQLiteOpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } public void onCreate(SQLiteDatabase db) { db.execSQL(创建数据库的SQL语句); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 升级数据库 } }
二、获取SQLiteDatabase类
MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(getContext()); SQLiteDatabase db = mySQLiteOpenHelper.getWritableDatabase();
三、增
ContentValues contentValues = new ContentValues(); contentValues.put(自定义的列名常量, 数据); long newRowId = db.insert(自定义的表名常量, null, contentValues);
四、删
db.delete(自定义的表名常量, WHERE语句, WHERE语句的参数集合 /* 依次替代语句中的每个“?” */);
五、改
db.update(自定义的表名常量, contentValues, WHERE语句, WHERE语句的参数集合);
六、查
// 还有其他查询形式,这里列举其一 // 若想省略某些语句,可用null Cursor cursor = db.query( 自定义的表名常量, 欲查询的列名集合, WHERE语句, WHERE语句的参数集合, GROUP BY语句, HAVING语句, ORDER BY语句, LIMIT语句); // 如果查不到 if(null == cursor) { return; } // 从游标中循环获取查询结果 while(cursor.moveToNext()) { // 先获取某个列在游标中对应的id int columnIndex = cursor.getColumnIndexOrThrow(自定义的列名常量); // 再根据id获取其数据。 // 某数据类型可以是int、String等 某数据类型 data = cursor.get某数据类型(columnIndex); } // 查完之后关闭游标,以免内存泄漏 cursor.close();
七、原子操作
原子操作可以确保若干条操作语句一起成功或者一起失败。
// 1.开始原子操作 db.beginTransaction(); try { // 2.若干操作语句 ... // 3.若执行到此处,设置原子操作成功 db.setTransactionSuccessful(); } finally { // 4.结束原子操作 db.endTransaction(); }
相关文章推荐
- redis 安装与配置
- ubuntu上安装配置mysql
- spark sql DataFrame操作
- 日常收集整理SqlServer数据库优化经验和注意事项
- 浅析SQL数据操作语句
- SQL SERVER调用存储过程小结
- 通过两种方式增加从库――不停止mysql服务
- MySQL_CRUD基础语句
- 动态备份SQL-SERVER数据库——SQLDMO
- MySQL 事务的基本概念
- Mysql子查询概念
- mysql连接和联和
- redis 下载地址(window)
- mysql 事务隔离
- mongodb复制集和分片
- oracle rowNum
- 数据库优化
- 子查询(二)子查询
- powerdesigner逆向导出oracle数据库结构显示备注
- 子查询(一)创建表