MySQL学习笔记(二):真·python运行mysql操作

xiaoxiao2025-11-14  6

这次咱们真的开始在pycharm里进行mysql数据库操作了,

首先还是新建一个数据库,

然后新建属性字段

接下来开始创建python与mysql的连接

import pymysql #连接数据库 conn = pymysql.connect( #IP和端口 host = "127.0.0.1", port=3306, #账号和密码 user = "root", password="123456", #数据库和编码 database = "test", charset="utf8" ) #获得数据库游标 cursor = conn.cursor() #执行插入,返回受影响的行数 affected = cursor.execute("insert into student(name,gender) values ('%s','%d')" % ('TOM', 18)) print("插入结束,%d条记录受影响" % (affected)) #执行查询,返回受影响的行数 affected = cursor.execute("select * from student") print("查询到%d条记录" % (affected)) #查询的结果被保存在游标中,拿取全部结果 ret = cursor.fetchall() print(type(ret),ret) #类型是二维元组 #提交当前事务到数据库,不提交等于啥也没干 conn.commit() print("修改已提交") #断开数据库连接 conn.close()

查看打印结果

@交互过程  pymysql与MySQL的交互过程可以概括为:

配置和连接数据库;获取数据查询游标,以执行SQL语句;执行SQL语句,返回受影响的记录数;如果是查询,从游标中读取得到的结果;提交本次访问的结果;关闭数据库;

@数据库事务(回滚机制)

当我们对数据库进行批量操作时,这一系列操作往往是一个有机整体; 因此这一系列操作,应该要么全部成功,要么全部回滚到访问前的状态,否则就容易形成脏数据; 举个例子,一次网购交易的成功提交,要修改商家出货表、用户订单表、转账信息表、物流信息表等等,所有环节都必须严丝合缝,发生任何异常交易都不应成功,一切数据应回滚到交易发生前的状态; 这种要么全部成功、要么全部失败且数据回滚的批量数据操作,就称为一次事务(Transaction); 一次事务(批量数据操作)的结果只有两种:①全部成功并提交,②发生异常并回滚;  

import pymysql #连接数据库 conn = pymysql.connect( #IP和端口 host = "127.0.0.1", port=3306, #账号和密码 user = "root", password="123456", #数据库和编码 database = "test", charset="utf8" ) try: #获得数据库游标 cursor = conn.cursor() #执行插入,返回受影响的行数 affected = cursor.execute("insert into student(name,gender) VALUES ('%s','%d') " % ('tom','18')) print("插入结束,%d条记录受影响" % (affected)) #执行查询,返回受影响的行数 affected = cursor.execute("select * from student") print("查询到%d条记录" % (affected)) #查询的结果被保存在游标中,拿取全部结果 ret = cursor.fetchall() print(type(ret),ret) #类型是二维元组 #提交当前事务到数据库,不提交等于啥也没干 conn.commit() print("修改已提交") #异常操作,回滚机制 except Exception as e: #发生异常是回滚到整个事务开始之前的状态 conn.rollback() print(e,'数据已经回滚') #断开数据库连接 conn.close()

这里gender是整数类型,传递了一个字符串,我们查看一下运行结果

转载请注明原文地址: https://www.6miu.com/read-5039606.html

最新回复(0)