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操作的更多相关文章

  1. MySQL 事物机制

    前言:事物:一组原子性的SQL查询,或多个SQL语句组成了一个独立的单元.要么这一组SQL语句全部执行,要么全部不执行 (一)事物日志介绍:管理事物机制的日志 redo日志:记录SQL执行的语句,这些 ...

  2. mysql 事物ACID和隔离级别

    ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则 ...

  3. MySQL事物原理及事务隔离级别

    mysql事物 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取.事务的正确执行使得数据库从一种状态转换为另一种状态. 事务必须服从ISO/IEC所制定的ACID原则.AC ...

  4. mysql事物

    一. 什么是事务 事务就是一段sql 语句的批处理,但是这个批处理是一个atom(原子) ,不可分割,要么都执行,要么回滚(rollback)都不执行. 二.为什么出现这种技术 为什么要使用事务这个技 ...

  5. mysql事物处理

    mysql事物主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你既要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等.这样,这些数据库操作语句就构成一个事 ...

  6. mysql锁机制和事务隔离

    mysql事务 1.InnoDB事务原理 事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态. 在数据库提交时,可以确保要么所有修 ...

  7. 程序员必须了解的知识点——你搞懂mysql索引机制了吗?

    一.索引是什么 MySQL官方对索引的定义为:索引(Index)是帮助MySQL 高效 获取数据的数据结构,而MYSQL使用的数据结构是:B+树 在这里推荐大家看一本书,<深入理解计算机系统的书 ...

  8. mysql锁机制 读书笔记

    目录 MySQL锁机制 1.什么是锁 2.lock与latch 3.InnoDB存储引擎中的锁 3.1锁的类型 3.2 一致性非锁定读 3.3 一致性锁定读 4 锁的算法 4.1行锁的3中算法 4.2 ...

  9. (三)MySQL锁机制 + 事务

    转: (三)MySQL锁机制 + 事务 表锁(偏读) 偏向MyISAM存储引擎.开销小,加锁快,无死锁,锁定粒度大,发生锁冲突的概率最高,并发最低. 查看当前数据库中表的上锁情况,0表示未上锁. sh ...

随机推荐

  1. 洛谷 T51922 父子

    题目描述 对于全国各大大学的男生寝室,总是有各种混乱的父子关系. 那么假设现在我们一个男生寝室有不同的 nn 个人,每个人都至多有一个“爸爸”,可以有多个“儿子”,且有且只有一个人没有“爸爸”(毕竟是 ...

  2. 图解HTTP总结(8)——确认访问用户身份的认证

    Session 管理及 Cookie 应用 基于表单认证的标准规范尚未有定论,一般会使用Cookie来管理Session(会话). 基于表单认证本身是通过服务器端的Web应用,将客户端发送过来的用户I ...

  3. 内存泄漏导致程序killed

    示例程序: #include<stdio.h> #include<unistd.h> int main() { ) { *]; } ; } 执行结果: 程序消耗完内存会被kil ...

  4. 39-Role以及Claims授权

    asp.net core多鼓励使用claims授权 1-使用role授权 在类或方法上贴上Roles,这样就知道有user的角色才可以访问 [Authorize(Roles="user&qu ...

  5. HBase import tsv,csv File

    一,HBase中创建table 表(liupeng:test)并创建 info ,contect 列簇 hbase(main):258:0> create "liupeng:Test& ...

  6. Odoo8中安装新模块找不到的问题

    为了要让系统识别出新的模块,我们需要打开用户的技术特性选项,具体在    左侧栏目->用户->administrator,  将技术特性勾选上,刷新.  然后左侧栏目->模块下面就会 ...

  7. Hadoop Sentry 学习

    什么是Sentry? Sentry 是Cloudera 公司发布的一个Hadoop开源组件,它提供细粒度基于角色的安全控制 Sentry下的数据访问和授权 通过引进Sentry,Hadoop目前可在以 ...

  8. ip4addr_ntoa和不可重入函数

    在网络中,有一个转换IP地址到ASIIC字符串的函数,该函数的返回值所指向的ASIIC字符串驻留在静态内存中,所以该函数不可重入. 通俗的讲,在多任务系统中,一个任务执行在调用运行这个函数的时候,其他 ...

  9. Coap协议学习笔记-第一篇

    1. 物联网应用上一般使用单片机(或者其他SOC),单片机的RAM内存一般只有20KB~~128KB左右,然而一个TCP协议栈可能就20KB,所以只能用UDP,因为UDP相对小很多,然后在UDP上加了 ...

  10. APIO2018 游记

    day \(-\infty\) \(\sim\) day0 5 月 5 号左右的时候去了趟中北大学,山西省大学生程序设计竞赛.不是太满意,现场 rk3.拿到了充电宝(冲着这个去的,虽然抵不过车费),抽 ...