python提交事务_python-数据库之pymysql模块(连接对象-游标对象-执行-获取值或者提交事务)...

1、pymysql模块安装与引入

安装

pip install PyMySQL

引入

import pymysql

2、数据库的操作

下图查找连接数据库,源码的方法,以及参数怎么配置的可参考

数据库的操作步骤:

步骤1:引入pymysql模块 import pymysql

步骤2:连接数据库,返回连接对象 注意:charset="utf8"指定编码方式,没有-

con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")

步骤3:创建一个游标对象

cur = con.cursor()

步骤4:执行的sql语句

sql = "SELECT * FROM python.cfl_emp;"

步骤5:通过execute方法执行sql语句

res = cur.execute(sql) # 返回的是记录条数

步骤6:获取查询结果

# 获取查询到的返回集中的第一条数据

data_fetchone = cur.fetchone()

print(f"获取查询到的返回集中的第一条数据,data_fetchone = cur.fetchone() \n结果:{data_fetchone}")

# 获取查询到的所有数据

# 返回的是一个元组嵌套元组的数据

data_fetchall = cur.fetchall()

print(f"获取查询到的返回集中的所有数据,data_fetchall = cur.fetchall() \n结果:{data_fetchall}")

#引入pymysql模块

importpymysql#步骤1:连接数据库,返回连接对象#charset="utf8"指定编码方式,没有-

con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")#步骤2:创建一个游标对象

cur =con.cursor()#步骤3:执行的sql语句

sql = "SELECT * FROM python.cfl_emp;"

#步骤4:通过execute方法执行sql语句

res = cur.execute(sql) #返回的是记录条数

print(res)#步骤5:获取查询结果

#获取查询到的返回集中的第一条数据

data_fetchone =cur.fetchone()print(f"获取查询到的返回集中的第一条数据,data_fetchone = cur.fetchone() \n结果:{data_fetchone}")#获取查询到的所有数据#返回的是一个元组嵌套元组的数据

data_fetchall =cur.fetchall()print(f"获取查询到的返回集中的所有数据,data_fetchall = cur.fetchall() \n结果:{data_fetchall}")

注意点:pymysql模块操作数据时,默认开启的事务

在事务提交之前,所有对数据库进行修改的操作都不会同步到数据库

只有在提交事务之后,才会同步到数据

提交事务:连接对象.commit()

#引入pymysql模块

importpymysql#步骤1:连接数据库,返回连接对象#charset="utf8"指定编码方式,没有-

con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")#步骤2:创建一个游标对象

cur =con.cursor()#步骤3:执行的sql语句

select_sql = "select name from python.cfl_emp where id = 6;"cur.execute(select_sql)

name_b=cur.fetchall()print(f"事务提交前:name为{name_b}")

update_sql= "UPDATE python.cfl_emp SET name = '钱一3' WHERE id = 6;"cur.execute(update_sql)#注意点:pymysql模块操作数据时,默认开启的事务#在事务提交之前,所有对数据库进行修改的操作都不会同步到数据库#只有在提交事务之后,才会同步到数据#提交事务:连接对象.commit()

con.commit()

cur.execute(select_sql)

name_a=cur.fetchall()print(f"事务提交前:name为{name_a}")

执行结果:

3、简单封装数据库的操作-查询与增删改操作(因为修改需要提交事务)

分为查询和增删改操作

增删改操作需要连接对象.commit()

简单封装如下:

""封装一个做作mysql数据库的类

封装的功能:1、数据的查询操作2、增删改操作"""import pymysql

class MysqlBD:

# __init__创建对象的时候初始化操作

def __init__(self):

self.con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")

self.cur = self.con.cursor()

# 数据的查询操作

def find(self,sql):

self.cur.execute(sql)

datas = self.cur.fetchall()

return datas

# 增删改操作

def update(self,sql):

self.cur.execute(sql)

self.con.commit()

if __name__ == '__main__':

db=MysqlBD()

select_sql= "select name from python.cfl_emp where id = 6;"res=db.find(select_sql)print(f"查询结果:{res}")

update_sql= "UPDATE python.cfl_emp SET name = '钱一1' WHERE id = 6;"res_1=db.update(update_sql)

select_sql= "select name from python.cfl_emp where id = 6;"res1=db.find(select_sql)print(f"查询结果:{res1}")

执行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值