mysql事务、python连接数据库与创建表

MySQL事务

事务是数据库处理操作,其中执行就好像它是一个单一的一组有序的工作单元。换言之,事务将永远不会是完全的,除非在组内每个单独的操作是成功的。如果事务中的任何操作失败,整个事务将失败。

在MySQL中,事务以BEGIN WORK语句开始开始工作,并使用COMMIT或ROLLBACK语句结束。SQL命令在开始和结束语句之间构成大量事务。

提交和回滚

这两个关键字Commit和Rollback主要用于MySQL的事务。

  • 当一个成功的事务完成后,COMMIT命令发出的变化对所有涉及的表将生效。
  • 如果发生故障,ROLLBACK命令发出后,事务中引用的每个表将恢复到事务开始之前的状态。
事务性质

事务具有以下四个标准属性,通常由首字母缩写ACID简称(atomicity,consistent,isolation,durable):

  • 原子性: 确保了工作单位中的所有操作都成功完成; 否则,事务被中止,在失败时会被回滚到事务操作以前的状态。
  • 一致性:可确保数据库在正确的更改状态在一个成功提交事务。
  • 隔离: 使事务相互独立地操作。
  • 持久性: 确保了提交事务的结果或系统故障情况下仍然存在作用。

在MySQL中,事务以BEGIN WORK语句开始开始工作,并使用COMMIT或ROLLBACK语句结束。SQL命令在开始和结束语句之间构成大量事务。

Mysql与Python

python具有内置的pymysql模块,
安装PyMysql:pip3 install PyMysql

连接pymysql
#导入包
import pymysql
#建立数据库连接
db = pymysql.connection('localhost','root','123456','jing_dong')
#使用cursor()方法获取一个游标
cursor = db.cursor()
#执行sql语句来查询版本信息的方法
cursor.execute("select version()")
#使用fetchone()方法获取一条数据
data = cursor.fetchone()
print(data)
#关闭连接
db.close()
创建数据库
import pymsql
db = pymysql.conection('localhost','root','123456','jing_dong')
cursor = db.cursor()
#若表存在则删除
cursor.execute("DROP TABLE IF EXISTS student")
#准备建表语句
sql = """create table student"(
      id int not null auto_increment,
      name char(20) not null,
      age int default null,
      sex bit default,
      score float default,
      primary key(id)
      )engine=InnoDB default charset=UTF-8;;"""
 
cursor.execute(sql)
db.close()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值