数据库的操作,有三个最基本的语句,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. 2017技术核心——Spring

    从毕业从事Java WEB开始到现在已差不多快5年时间了,一直使用的Spring相关的技术,其实最主要的是SpringMVC这一块.其实,一直停留在用的地步,并不知晓其原理,真正耐下心来去研究Spri ...

  2. 查找Maven JAR坐标

    http://mvnrepository.com/ http://search.maven.org/

  3. java.util.zip获取Zip文件条目InputStream

    package com.test; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import ja ...

  4. session过期时间

    在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户没有使用系统一定时间后,自动退出登录,销毁session. 具体设置很简单: 在主页面或者公共页面中加入:session.set ...

  5. centos 查看版本(转)

    # lsb_release -aLSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch ...

  6. 本地代码如何通过TortoiserGit提交到GitHub

    昨天博文给大家讲解了一下如何本地安装TortoiseGit http://www.cnblogs.com/xinlj/p/5978730.html,今天为大家讲一下如何通过TortoiseGit将本地 ...

  7. An error occurred while processing an SVN command

    今天在使用SmartSVN的时候,遇到这个问题,反复几次,也没有得到解决,而且进入了死循环,一直在提示这个消息,即使在cleanup之后. 百度了一番之后,找到了解决办法: 把出错的文件在本地删除掉, ...

  8. JMeter学习-023-JMeter 命令行(非GUI)模式详解(一)-执行、输出结果及日志、简单分布执行脚本

    前文 讲述了JMeter分布式运行脚本,以更好的达到预设的性能测试(并发)场景.同时,在前文的第一章节中也提到了 JMeter 命令行(非GUI)模式,那么此文就继续前文,针对 JMeter 的命令行 ...

  9. 利用crontab系统每天定时备份MySQL数据库

    利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1.创建保存备份文件的路径/mysqldata   1 #mkdir /mysqldata 2.创建/usr/sb ...

  10. win7下安装mysql5.7[zip包]

    原本以为很简单的安装,结果卡在一个环节,此文记录安装步奏. 1.下载mysql-5.7.16-winx64.zip 安装包 地址:http://cdn.mysql.com//Downloads/MyS ...