【SQLite数据库小结】sql语句的两种形式以及你不能不知的事务
2016-08-17 11:50
399 查看
android中对sql语句进行了两种封装。本质上都是封装了sql语句,都需要通过SQLiteDtabase类使用其实例方法.
NO.1
insert方法: 向数据库添加一条记录
delete方法:向数据库删除一条记录
update方法:更新数据库的一条记录
query方法: 查询数据库(返回的是游标,记得关闭和释放)
NO.2
使用SQLiteDatabase的execSQL方法,将sql语句和对应的数组(对应sql语句的占位符)作为参数传入.
注意:查询是使用SQLiteDatabase的rawQuery方法.
事务的特性可以保证让某一系列的操作要么全部完成要么一个都不会完成
也是通过SQLiteDatase的方法来申明此代码段是事务。
使用场景:银行账户的转账工作要分两步完成,如果a像b转账,首先a账户做减法,然后在b账户做加法,这两个步骤要么全部完成要么都不做,否则会出错,所以应该写进事务里面.
beginTransaction方法:表明事务开始
setTransactionSuccessful方法:表明事务执行成功
endTransaction方法:表明事务结束
【延伸思考】事务是怎么保证一系列操作要么全部完成要么一个都不完成的?
NO.1
insert方法: 向数据库添加一条记录
delete方法:向数据库删除一条记录
update方法:更新数据库的一条记录
query方法: 查询数据库(返回的是游标,记得关闭和释放)
NO.2
使用SQLiteDatabase的execSQL方法,将sql语句和对应的数组(对应sql语句的占位符)作为参数传入.
注意:查询是使用SQLiteDatabase的rawQuery方法.
事务的特性可以保证让某一系列的操作要么全部完成要么一个都不会完成
也是通过SQLiteDatase的方法来申明此代码段是事务。
使用场景:银行账户的转账工作要分两步完成,如果a像b转账,首先a账户做减法,然后在b账户做加法,这两个步骤要么全部完成要么都不做,否则会出错,所以应该写进事务里面.
beginTransaction方法:表明事务开始
setTransactionSuccessful方法:表明事务执行成功
endTransaction方法:表明事务结束
【延伸思考】事务是怎么保证一系列操作要么全部完成要么一个都不完成的?
相关文章推荐
- 使用事务操作SQLite数据库和一些常用的SQL语句
- 使用Hibernate的session执行任意SQL语句以及整个事务
- django 事务小结(ORM 事务以及raw sql,customize sql 事务处理)
- iOS中SQLite数据库的原生使用方法以及SQL语句大全
- mysqli的多条sql语句操作以及简单的事务处理~~~~~
- SQL学习笔记三 select语句的各种形式小结
- web项目之BBS发布至新浪云配置修改以及sql语句修改问题小结
- SQL server和access两种用SQL语句计算两个日期间隔的年、月以及天数
- mysql 查询正在执行的事务以及等待锁 常用的sql语句
- SQLite数据库sql语句查询以及API查询
- mysql 查询正在执行的事务以及等待锁 常用的sql语句
- ThinkPHP实现对数据库中表的修改删除以及两种原生SQL语句的执行
- sqlParameter的两种写法 以及存储过程还有sql语句(防注入)
- 使用Hibernate的session执行任意SQL语句以及整个事务
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- 数据库菜鸟不可不看 简单SQL语句小结
- Java的SQL语句的写法小结
- sqlserver如何用企业管理器和sql语句两种方式创建用户?
- 一个jdbc的例子(包含sql语句的批处理,事务处理,数据绑定prepare,)
- sql语句中使用了distinct关键字就不能使用order by 了