mysql-DTL语言
事务
含义
通过一组逻辑操作单元(一组DML——sql语句),将数据从一种状态切换到另外一种状态
特点(ACID)
- 原子性(A):要么都执行,要么都回滚
- 一致性©:保证数据的状态操作前和操作后保持一致
- 隔离性(I):多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰
- 持久性(D):一个事务一旦提交,则数据将持久化到本地,除非其他事务对其进行修改
事务的分类
- 隐式事务:
没有明显的开启和结束事务的标志
比如:
insert、update、delete语句本身就是一个事务
- 显式事务:
具有明显的开启和结束事务的标志
1、开启事务
取消自动提交事务的功能
2、编写事务的一组逻辑操作单元(多条sql语句)
insert
update
delete
3、提交事务或回滚事务
事务的隔离级别
事务并发问题
- 脏读:一个事务读取到了另外一个事务未提交的数据
- 不可重复读:同一个事务中,多次读取到的数据不一致
- 幻读:一个事务读取数据时,另外一个事务进行更新,导致第一个事务读取到了没有更新的数据
mysql事务隔离级别(默认可重复读)
隔离级别 | 脏读(Dirty Read) | 不可重复读(NonRepeatable Read) | 幻读(Phantom Read) |
---|---|---|---|
未提交读(Read uncommitted) | 可能 | 可能 | 可能 |
已提交读(Read committed) | 不可能 | 可能 | 可能 |
可重复读(Repeatable read) | 不可能 | 不可能 | 可能 |
可串行化(Serializable ) | 不可能 | 不可能 | 不可能 |
事务控制语句
设置是否自动提交事务
# 禁止自动提交事务
SET AUTOCOMMIT=0
# 开启自动提交事务
SET AUTOCOMMIT=1
查看隔离级别
# 查看当前会话隔离级别
select @@tx_isolation;
# 查看系统当前隔离级别
select @@global.tx_isolation;
设置隔离级别
# 设置当前会话隔离级别
set session transaction isolatin level repeatable read;
# 设置系统当前隔离级别
set global transaction isolation level repeatable read;
显示开启事务
BEGIN
# 或者
START TRANSACTION
创建事务保存点,一个事务中可以有多个保存点
SAVEPOINT 保存点名称
删除事务保存点
RELEASE SAVEPOINT 保存点名称
回滚到事务保存点
ROLLBACK TO 保存点名称
回滚整个事务
ROLLBACK
# 或者
ROLLBACK WORK
提交事务
COMMIT
# 或者
COMMIT WORK
mysql-DTL语言相关推荐
- Mysql —— C语言链接mysql数据库,实现可以增删改查的角色权限登录系统
/******************************************************************** * 标题:C语言链接mysql数据库,实现可以增删改查的角色 ...
- c语言访问mysql,C语言访问mysql数据库
mysql中新建的数据库为hyx,hyx中的表为my_schema,表中的数据为下图: 编写代码,访问表中的数据,测试代码如下: #include "stdafx.h" #incl ...
- c语言 连接 mysql,C语言连接mysql -select
C语言实现查询mysql数据库的行数,列的属性,以及每条记录. /* select.c */ #include #include #include #include "/usr/includ ...
- Mysql—C语言API接口
Mysql-C语言API接口 一.mysql-arp访问数据的操作流程 1. 初始化mysql操作句柄: 2. 连接mysql服务器: 3. 设置mysql客户端字符集(保持与服务器一致): 4. 选 ...
- linux mysql c语言编程,在Linux下通过C语言操作MySQL数据库
2010年1月27日 晚 22:10 作者:longyun(http://www.linuxdiyf.com/mailto:mtd527@gmail.com) 续:小弟最近想学习数据库,并想开发一个简 ...
- mysql完整性语言实验报告_MySQL实验报告.doc
MySQL实验报告 信 息 科 学 与 技 术 系 实 验 报 告 实验五 索引和数据完整性 [目的与要求] 掌握索引的使用方法. 掌握数据完整性的实现方法. [实验准备] 了解索引的作用与分类. 掌 ...
- golang mysql curd_Go 语言操作 MySQL 之 CURD 操作
本文转载于SegmentFault社区 作者:Meng小羽 MySQL 是目前开发中最常见的关系型数据库,使用 Go 语言进行操控数据库需要使用 Go 自带database/sql和驱动go-sql- ...
- mysql c语言教程,C语言调用mysql快速教程(精华篇).pdf
C语言调用mysql快速教程(精华篇).pdf ,使用 语言操作 之前,先在 里头创建一个数据库,一个表,在表里头添加 1 c mysql mysql 数据如下: 创建数据库,库名为 cusemysq ...
- mysql c语言数字转字符串函数_C++_c语言标准库中字符转换函数和数字转换函数,字符转换为数字:
#includest - phpStudy...
c语言标准库中字符转换函数和数字转换函数 字符转换为数字: #include atoi();将字符转换为整型 例:char ch1;int i=atoi(ch1); atol();将字符转化为长整 ...
- Mysql中语言分类和区别
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库 ...
最新文章
- 2015年度打榜之数据备份硬件
- 《C++标准程序库》读书笔记(三)
- 获取Http协议的请求行,请求头
- [转]opensuse vim 的语法高亮
- Python学习:文件操作
- 编译Flink项目的时候遇到cannot find symbol symbol: variable Time
- QT Openssl no OPENSSL_Applink 解决
- java 盘符 系统_001-Java再回首开篇-入门基础
- python61到08使用说明书_python 08 文件操作
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
- Iframe 高度自适应的问题
- cut最后几位 shell_Linux Shell之cut命令
- css 背景色渐变 background linear-gradient
- 打通语言理论和统计 NLP 两个世界,Transformers/GNNs 架构能做到吗?
- top刷新间隔_还在用top监控CPU?我们都在用glances
- 单例模式详解(线程安全,饿汉,懒汉模式)
- 极速还原 V4.0 简体中文绿色免费版
- TalkingData技术实现分析
- 一级路由器映射二级路由器端口映射
- 不支持:http://javax.xml.XMLConstants/property/accessExternalStylesheet
热门文章
- 针对VMware安装Win10需要安装.NET Framework 3.5常见的0x800F0906、0x800F081F错误解决办法
- win7安不了python_win7下安装python失败问题
- echarts去除网格线_echarts实现去掉X轴、Y轴和网格线效果实例分享
- Ubuntu安装LXDE桌面环境
- 分贝、电平、增益、音高、音分、声能、声强、声压...
- android 格式化sd咔_如何在Android中格式化SD卡 | MOS86
- webrtc与stunserver、turnserver建立连接花费时间十秒左右
- 小srf的游戏(单调队列+dp)
- C语言 求100--200之间的素数
- 解决App自动化的不稳定因素-弹框及首页启动加载完成判断处理