(四)SQL入门 数据库的操作与事务管理
数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除。
不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了。说语法也没有意义,到处都可以复制粘贴,记得听某个视频,里面说,当程序员很简单,就是Ctrl+C,Ctrl+V。
知道了数据库操作的三个基本操作,下面说说一个新的名词。事务。
什么是事务呢?之前我在绵阳去新的地方上班的时候,那个时候,那个时候,我还不知道什么是事务,现在上班的地方有个同事毕业半年多了,已经转正了,貌似也不知道。这个名称呢,听上去会有种高大上,或者很深奥的感觉给人,其实不是,事务很好理解。事务就是人们想把一个或几个操作合在一起,把它在计算机里实现成了“一个操作”,那么对于这个整体的操作,只有两种结果,要么操作成功,要么操作失败,不会存在成功了一半,比如A B C三个操作,被定义成了一个事务操作 D,那么完成D,其实就完成了ABC三个操作,但是又有区别,区别在于把部分成功也划分到不成功里去了。
关于事务的管理呢,主要涉及到三个单词,Commit提交,Rollback返回,SavePoint保存点。当人们想往数据库里进行添加数据、或修改数据、或删除数据、或这几个操作进行不同的组合的时候,数据的操作其实并没有直接将数据库里的数据进行修改了,而是将数据的要修改的行为保存在了数据库里有个被称为临时回退区的地方,在这个地方,这些行为将有两个不同的选择,要么被提交、要么被返回。如果提交了,那么这些行为会真正的修改了数据库里的数据,如果回退了,也就是返回了,那么数据库里的数据将不会被修改,而且临时回退区里那个准备去修改的行为也会被释放掉,也就是临时回退区会被清空,当然,提交后,临时回退区也会被清空的。这个SavePoint保存带你的作用呢,就是将事务里的很多操作进行分组,这样更加利于管理,当你需要返回到某个事务点的时候,就可以时候RollBack to SavePoint,这样无需返回整个事务。
如果数据库事务没有进行管理的话,将会存在一个很大的风险,就是当有大量的数据进行插入、修改、删除的时候,临时回退区里充满了跃跃欲试的行为,这些行为如果没有得到及时的处理,也就是要么提交,要么返回的处理的时候,临时回退区就会不断的填充、不断的填充,知道某个时候,导致临时回退区的内存完全被占用完,这个时候,数据库就崩溃了。
(四)SQL入门 数据库的操作与事务管理的更多相关文章
- MySQL基础学习——SQL对数据库进行操作、对数据库的表进行操作
1.SQL对数据库进行操作: 创建数据库: 语法: create database 数据库名称 [character set 字符集 collate 字符集校对规则];字符集校对规则即所用字符集的数据 ...
- 纯C++ 连接SQL Server2005 数据库读写操作的小例子
一个测试c++链接 sql server 数据库的例子// 数据库说明// 数据库用户为 sa , 密码为 空// 数据库为 MyDB// 表为 UserInfo// 表字段为 Name . Pass ...
- SQL Server数据库远程操作
SQL Server数据库远程操作中,在使用openrowset/opendatasource前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServ ...
- Spring Boot学习——数据库操作及事务管理
本文讲解使用Spring-Data-Jpa操作数据库. JPA定义了一系列对象持久化的标准. 一.在项目中使用Spring-Data-Jpa 1. 配置文件application.properties ...
- Redis数据库之KEY的操作与事务管理
目的 了解并掌握各种数据类型的命令操作方式,以及各种数据类型值的操作方式.同时,主要培养对KEY的操作命令运用的能力.重点掌握对KEY信息的管理.事务常规管理和事务回滚操作. KEYS命令的练习,对K ...
- 四、spring的JDBC模板和事务管理
Spring的JDBC模板 Spring是JavaEE开发的一站式框架,对各种持久化技术都提供了简单的模板 ORM持久化技术 模板类 JDBC org.springframework.jdbc.cor ...
- SQL入门之集合操作
尽管可以在与数据库交互时一次只处理一行数据,但实际上关系数据库通常处理的都是数据的集合.在数学上常用的集合操作为:并(union),交(intersect),差(except).对于集合运算必须满足下 ...
- (五)SQL入门 数据库查询
什么是查询?查询就是Select语句对数据库的探究. 查询是一种目的,一种需求,一种期望.是Select语句去实现的.Select语句不是只是指select语句,而是多个子句一起使用得组合. sele ...
- (三)SQL入门 数据库规格化简介
什么是数据库的规格化呢,说白了就是为了去除数据库冗余.为了数据库更加容易管理而将大表按照逻辑划分为小表的过程. 什么是数据库的去规格化呢,就是规格化的反面.那么你可能就会问,既然上面说了数据库的规格化 ...
随机推荐
- 设计模式-1-概要(c#版)
最近又重新看了几本设计模式的书籍和文章,现在再看时又有了新的感悟,而这些书籍和文章都是从需求和业务场景讲什么业务可以用什么模式,要不就是纯理论不好理解,其实我们也要理解和佩服这些概括理论的大牛,必须让 ...
- Sublime Text 2配置文件详解
Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自己 ...
- *HDU3635 并查集
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- CSS实现元素水平/垂直居中的方法
首先,我们来了解水平居中,它有很多种方法,我们暂时先来了解其中的几种: 1. 在实现方案中,我们最熟悉的莫过于给元素定义一个宽度,然后使用margin: 1 2 3 4 body{ wi ...
- Python爬虫:Xpath语法笔记
一.选取节点 常用的路劲表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpat ...
- Codeforces554 C Kyoya and Colored Balls
C. Kyoya and Colored Balls Time Limit: 2000ms Memory Limit: 262144KB 64-bit integer IO format: %I64d ...
- 史上自定义 JavaScript 函数Top 10
http://www.dustindiaz.com/top-ten-javascript/ 发布:wpulog | 发布时间: 2010年4月9日 10个被使用的最普遍的用户自定义函数,add ...
- Cocoa Touch事件处理流程--响应者链
Cocoa Touch事件处理流程--响应者链 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/9264335 转载请注明 ...
- Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
转载自:http://blog.sina.com.cn/s/blog_701c951f0100n1sp.html 相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题, ...
- css绘制特殊图形,meida查询,display inline-box间隙问题以及calc()函数
本文同时发表于本人个人网站 www.yaoxiaowen.com 距离上一篇文章已经一个月了,相比于写代码,发现写文章的确是更需要坚持的事情.言归正传,梳理一下这一个月来,在写ife任务时,有必要记录 ...