MySQL事物机制具备四点:简称ACID操作
MySQL事物机制具备四点:简称ACID操作
1、原子性:要么都做,要么都不做(两条数据(写入和存储)一步未成功,整体回滚)
2、一致性:数据库的状态改变(两条数据(写入和存储)均成功,符合原子性,但未保持相互一致,不符合一致性)
3、隔离性:写入数据不互相影响
4、持久性:数据只能修改,不能返回(不能进行’Ctrl+C’操作)
Python3与MySQL 数据库连接
本文(以下代码)首先确定创建choice数据库,创建学生表TbStudent、课程表 TbCourse及选课信息表TbSC
安装PyMySQL模块
pip install pymysql
- 1
数据库连接
# -*- coding: utf-8 -*-
import pymysql
# 1.连接到数据库
db = pymysql.Connect(
host='localhost',
user='root',
password='123456',
db='choice',
port=3306,
charset='utf8'
)
# 2.获取游标: 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 3.执行结果: 使用 execute() 方法执行 SQL 查询
cursor.execute("select * from TbStudent")
# 4.获取结果: 使用 fetchall() 方法获取所有数据.
data = cursor.fetchall()
# 获取一条结果: : 使用 fetchone() 方法获取单条数据.
# data1 = cursor.fetchone()
for i in data:
print('id:%s name:%s' % (i[0], i[1]))
# 6.关闭数据库连接
db.close()
数据库插入操作
# -*- coding:utf-8 -*-
import pymysql
db = pymysql.connect(
host = 'localhost',
user = 'root',
passwd = '123456',
db = 'choice',
port = 3306,
charset = 'utf8'
)
# 游标
cursor = db.cursor()
# 执行
try:
sql = '''insert into TbCourse values
(7777, 'c222语言程序设计', 3, '大神级讲师')'''
cursor.execute(sql)
db.commit()
except:
# 回滚(如果执行不成功)
db.rollback()
# 关闭
删除操作
# 删除数据(前面代码同插入操作执行以前的代码)
try:
sql = '''delete from tbstudent where stuid=1002;'''
cursor.execute(www.cnzhaotai.com sql)
db.commit()
except:
db.rollback()
# 关闭
db.close()
创建数据库表
如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表employee:
# -*- coding:utf-8 www.taohuayuan178.com -*-
import pymysql
# 打开数据库连接
db = pymysql.connect(
host = 'localhost',
user = 'root',
passwd = '123456',
db = 'choice',
port = 3306,
charset = www.wanmeiyuele.cn 'utf8'
)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 使用预处理语句创建表
sql = """CREATE TABLE EMPLOYEE www.2636666.cn (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
cursor.execute(sql)
# 关闭数据库连接
db.close()
MySQL事物机制具备四点:简称ACID操作的更多相关文章
- MySQL 事物机制
前言:事物:一组原子性的SQL查询,或多个SQL语句组成了一个独立的单元.要么这一组SQL语句全部执行,要么全部不执行 (一)事物日志介绍:管理事物机制的日志 redo日志:记录SQL执行的语句,这些 ...
- mysql 事物ACID和隔离级别
⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则 ...
- MySQL事物原理及事务隔离级别
mysql事物 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取.事务的正确执行使得数据库从一种状态转换为另一种状态. 事务必须服从ISO/IEC所制定的ACID原则.AC ...
- mysql事物
一. 什么是事务 事务就是一段sql 语句的批处理,但是这个批处理是一个atom(原子) ,不可分割,要么都执行,要么回滚(rollback)都不执行. 二.为什么出现这种技术 为什么要使用事务这个技 ...
- mysql事物处理
mysql事物主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你既要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等.这样,这些数据库操作语句就构成一个事 ...
- mysql锁机制和事务隔离
mysql事务 1.InnoDB事务原理 事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态. 在数据库提交时,可以确保要么所有修 ...
- 程序员必须了解的知识点——你搞懂mysql索引机制了吗?
一.索引是什么 MySQL官方对索引的定义为:索引(Index)是帮助MySQL 高效 获取数据的数据结构,而MYSQL使用的数据结构是:B+树 在这里推荐大家看一本书,<深入理解计算机系统的书 ...
- mysql锁机制 读书笔记
目录 MySQL锁机制 1.什么是锁 2.lock与latch 3.InnoDB存储引擎中的锁 3.1锁的类型 3.2 一致性非锁定读 3.3 一致性锁定读 4 锁的算法 4.1行锁的3中算法 4.2 ...
- (三)MySQL锁机制 + 事务
转: (三)MySQL锁机制 + 事务 表锁(偏读) 偏向MyISAM存储引擎.开销小,加锁快,无死锁,锁定粒度大,发生锁冲突的概率最高,并发最低. 查看当前数据库中表的上锁情况,0表示未上锁. sh ...
随机推荐
- php后端跨域Header头
header("Access-Control-Allow-Origin: http://a.com"); // 允许a.com发起的跨域请求 //如果需要设置允许所有域名发起的跨域 ...
- react native 踩坑之 SectionList state更新 不执行render重新渲染页面
官方文档中指出 SectionList 本组件继承自PureComponent而非通常的Component,这意味着如果其props在浅比较中是相等的,则不会重新渲染.所以请先检查你的renderIt ...
- java泛型<? extends E> 有上限通配符与<? Super E>有上限通配符
通配符?,?表示占位,表明将来使用的时候在指明类型 <?>无限定的通配符, 是让泛型能够接受未知类型的数据 <? extends E> 有上限通配符,能够接受指定类及其子类类型 ...
- 分布式系统的CAP(Redis)
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点.而由于当前的网络硬件肯定会出现延迟丢包等问题,所以 分区容忍性是我们必须需要实现的. 所以我们只能在一致性和可用性之间进行权衡,没有NoSQ ...
- git将本地项目上传到远程仓库
1.cd mygit 打开项目文件夹 2.git init 初始化git 3.git remote add origin xxx(远程仓库地址) 添加远程库 git remote -v 查看远程 ...
- ffmpeg使用笔记
1.从mp4中提取h264:ffmpeg -i 264.mp4 -codec copy -bsf h264_mp4toannexb -f h264 output.h2642.从mp4中提取hevc:f ...
- go学习笔记-程序测试
程序测试 测试是一个可重复的过程,它验证某个东西是否按预期工作.一般通过 go test 进行测试,步骤如下 首先,是我们的文件名.Go 要求所有的测试都在以 _test.go 结尾的文件中.这使得我 ...
- 集合--数据结构与算法JavaScript描述(9)
集合 Set 概念 (跟高中时数学课上学的集合几乎一模一样哦哈哈) 集合是一种包含不同元素的数据结构. 集合中的元素称为成员. 集合的两个最重要的特性: 集合中的成员是无序的. 集合中不允许相同成员存 ...
- WPF 构建无外观(Lookless)控件
原文:WPF 构建无外观(Lookless)控件 构建一个用户可以使用Template属性设置外观的WPF控件需要以下几步 1.继承自System.Windows.Controls.Control 2 ...
- Odoo8中安装新模块找不到的问题
为了要让系统识别出新的模块,我们需要打开用户的技术特性选项,具体在 左侧栏目->用户->administrator, 将技术特性勾选上,刷新. 然后左侧栏目->模块下面就会 ...