(四)SQL入门 数据库的操作与事务管理

时间:2022-09-30 22:12:11

  数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除。

  不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了。说语法也没有意义,到处都可以复制粘贴,记得听某个视频,里面说,当程序员很简单,就是Ctrl+C,Ctrl+V。

  知道了数据库操作的三个基本操作,下面说说一个新的名词。事务。

  什么是事务呢?之前我在绵阳去新的地方上班的时候,那个时候,那个时候,我还不知道什么是事务,现在上班的地方有个同事毕业半年多了,已经转正了,貌似也不知道。这个名称呢,听上去会有种高大上,或者很深奥的感觉给人,其实不是,事务很好理解。事务就是人们想把一个或几个操作合在一起,把它在计算机里实现成了“一个操作”,那么对于这个整体的操作,只有两种结果,要么操作成功,要么操作失败,不会存在成功了一半,比如A B C三个操作,被定义成了一个事务操作 D,那么完成D,其实就完成了ABC三个操作,但是又有区别,区别在于把部分成功也划分到不成功里去了。

  关于事务的管理呢,主要涉及到三个单词,Commit提交,Rollback返回,SavePoint保存点。当人们想往数据库里进行添加数据、或修改数据、或删除数据、或这几个操作进行不同的组合的时候,数据的操作其实并没有直接将数据库里的数据进行修改了,而是将数据的要修改的行为保存在了数据库里有个被称为临时回退区的地方,在这个地方,这些行为将有两个不同的选择,要么被提交、要么被返回。如果提交了,那么这些行为会真正的修改了数据库里的数据,如果回退了,也就是返回了,那么数据库里的数据将不会被修改,而且临时回退区里那个准备去修改的行为也会被释放掉,也就是临时回退区会被清空,当然,提交后,临时回退区也会被清空的。这个SavePoint保存带你的作用呢,就是将事务里的很多操作进行分组,这样更加利于管理,当你需要返回到某个事务点的时候,就可以时候RollBack to SavePoint,这样无需返回整个事务。

  如果数据库事务没有进行管理的话,将会存在一个很大的风险,就是当有大量的数据进行插入、修改、删除的时候,临时回退区里充满了跃跃欲试的行为,这些行为如果没有得到及时的处理,也就是要么提交,要么返回的处理的时候,临时回退区就会不断的填充、不断的填充,知道某个时候,导致临时回退区的内存完全被占用完,这个时候,数据库就崩溃了。

(四)SQL入门 数据库的操作与事务管理的更多相关文章

  1. MySQL基础学习——SQL对数据库进行操作、对数据库的表进行操作

    1.SQL对数据库进行操作: 创建数据库: 语法: create database 数据库名称 [character set 字符集 collate 字符集校对规则];字符集校对规则即所用字符集的数据 ...

  2. 纯C++ 连接SQL Server2005 数据库读写操作的小例子

    一个测试c++链接 sql server 数据库的例子// 数据库说明// 数据库用户为 sa , 密码为 空// 数据库为 MyDB// 表为 UserInfo// 表字段为 Name . Pass ...

  3. SQL Server数据库远程操作

    SQL Server数据库远程操作中,在使用openrowset/opendatasource前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServ ...

  4. Spring Boot学习——数据库操作及事务管理

    本文讲解使用Spring-Data-Jpa操作数据库. JPA定义了一系列对象持久化的标准. 一.在项目中使用Spring-Data-Jpa 1. 配置文件application.properties ...

  5. Redis数据库之KEY的操作与事务管理

    目的 了解并掌握各种数据类型的命令操作方式,以及各种数据类型值的操作方式.同时,主要培养对KEY的操作命令运用的能力.重点掌握对KEY信息的管理.事务常规管理和事务回滚操作. KEYS命令的练习,对K ...

  6. 四、spring的JDBC模板和事务管理

    Spring的JDBC模板 Spring是JavaEE开发的一站式框架,对各种持久化技术都提供了简单的模板 ORM持久化技术 模板类 JDBC org.springframework.jdbc.cor ...

  7. SQL入门之集合操作

    尽管可以在与数据库交互时一次只处理一行数据,但实际上关系数据库通常处理的都是数据的集合.在数学上常用的集合操作为:并(union),交(intersect),差(except).对于集合运算必须满足下 ...

  8. (五)SQL入门 数据库查询

    什么是查询?查询就是Select语句对数据库的探究. 查询是一种目的,一种需求,一种期望.是Select语句去实现的.Select语句不是只是指select语句,而是多个子句一起使用得组合. sele ...

  9. (三)SQL入门 数据库规格化简介

    什么是数据库的规格化呢,说白了就是为了去除数据库冗余.为了数据库更加容易管理而将大表按照逻辑划分为小表的过程. 什么是数据库的去规格化呢,就是规格化的反面.那么你可能就会问,既然上面说了数据库的规格化 ...

随机推荐

  1. Office2013插件开发Outlook篇(1)-- 第一个office2013插件

    一.环境: 下载VS2013安装,记得安装office插件开发包哦. 二.新建Outlook插件项目

  2. 碎片事物的提交 commitAllowingStateLoss()

    转:http://blog.csdn.net/kaiqiangzhang001/article/details/42241441 下边两个问题,是在开发中碰到的一些关于Fragment的偶发性的问题, ...

  3. 关于SAP的视图类型

    1 sap的视图的类型sap的视图的类型有五种 Database views (数据库视图):和数据库的视图形同,连接条件是必须自定义. Projection views(投影视图): 用于屏蔽一些字 ...

  4. 在 IIS MIME 类型中添加 md 扩展名

    最近在了解 Knowledge Base (知识库)的内容,对两个平台比较感兴趣,一个是 Raneto,一个是 MDwiki,两者都是使用md文件作为内容存储. 需要注意的是,使用IIS部署网站后,需 ...

  5. ListView 分页 排序、编辑、插入和删除

    摘自网络地址:http://msdn.microsoft.com/zh-cn/magazine/cc337984.aspx ListView 基础 ListView 是模板驱动的控件,这意味着它默认情 ...

  6. 深入解读 Js 中的面向对象编程

    前言:今天看了一篇文章觉得很不错,所以给大家分享一下,也许很多人都看过面向对象编程甚至写过这样博客,觉得面向对象编程就那样,没啥好说的,那可能是因为你对这方面知识已经了解,可以选择性跳过.那如果有更通 ...

  7. 使用fpm 方便快速生成postgresql extension分发包

    fpm 是一个不错,而且强大的rpm.deb,系统启动服务工具包,我们可以用来快速的生成专业的软件分发包 演示一个pg 扩展包分发包的生成(rpm 以及deb) 安装fpm sudo gem inst ...

  8. 利用 gulp 来合并seajs 的项目

    gulp-seajs-transport 和 gulp-seajs-concat这两个gulp插件 gulp-seajs-transpor 这个插件这样是给每个js模块 标示 模块名称 gulp-se ...

  9. HDU 1565

    http://acm.hdu.edu.cn/showproblem.php?pid=1565 先进行二分图黑白染色,S到黑,白到T,黑到白,问题转化成了求最大权独立集,最大点权独立集=sum-最小点权 ...

  10. Google Summer of Code礼包

    这个暑假参加google summer of code, 给Google的分布式容器管理系统kubernates开发新的特性,希望从中学习更多的分布式的技术,锻炼自己的编程技巧. 中午在学校的图书馆吗 ...