成都创新互联网站制作重庆分公司

python连接mysql(已经完成,亲测有效)-创新互联

由于mysql体积小,速度快,成本低,源码开放,所以一些中小型系统开发都采用mysql

创新互联公司-专业网站定制、快速模板网站建设、高性价比复兴网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式复兴网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖复兴地区。费用合理售后完善,十多年实体公司更值得信赖。

我们连接mysql采用的工具包是pymysql

1.安装pymysql
pip install pymysql
2.pymysql工作图

python操作数据库主要涉及connection和cursor这两个对象

请添加图片描述

connection对象

connection对象是与数据源的唯一对话,可以使用connection对象的集合,方法,属性实现与数据的连接

连接时的参数列表

参数名类型说明
host字符串连接的数据库的服务器ip,如果是本地的话,写localhost即可
port数字mysql服务程序的端口号,默认为3306
user字符串连接数据库的用户名(一般用root)
passwd字符串连接数据库的密码
db字符串连接的数据库名称
charset字符串连接编码,一般使用“utf8”

使用上面参数的案例

import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')

connection对象常用的方法

方法名说明
cursor()使用该连接创建并返回游标
commit()提交当前事务
rollback()回滚当前事务
close()关闭连接

上面方法基本使用

#由于我们已经创建connection对象为db,所以这里以db代替connection对象
#创建cursor游标,获取python版本信息
cursor = db.cursor()
#关闭连接
db.close()
#提交当前事务
db.commit()
#回滚当前事务
db.rollback()
cursor对象

我们已经创建cursor对象,为cursor,下面会将游标对象的常用方法

cursor对象是游标对象,用户用它来查询和获取结果,常用方法如下

常用方法

方法名说明
execute()传入一个sql语句,并执行,传入的类型是字符串
fetchone()取结果集的下一行
fetchmany(size)取结果集的下size行
fetchall()取结果集中剩下的所有行
rowcount()最近一次执行execute返回数据的行数或者影响行数
close()关闭游标对象
3.基本案例 1.获取mysql版本
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标,获取python版本信息
cursor = db.cursor()
#获取mysql版本信息
cursor.execute("select version()")
#将上面的版本结果存放到data中
data = cursor.fetchone()
print(f"版本信息为{data}")
#关闭数据库连接
db.close()
2.创建表
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的sql语句
sql = """
		创建表的sql语句"""
#执行sql语句
cursor.execute(sql)
#关闭数据库连接
db.close()
3.新增数据

其实就是在表中添加数据了

import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的插入sql语句
sql = """
		创建表的插入sql语句"""
try:
	#执行sql语句
	cursor.execute(sql)
	#提交到数据库执行
	db.commit()
except:
	#发生错误回滚
	db.rollback()
#关闭数据库连接
db.close()
4.查询数据
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的sql查询语句
sql = """
		创建表的sql查询语句"""
try:
	#执行sql语句
	cursor.execute(sql)
	#获取所有记录的列表
	results = = cursor.fetchall()
    #mysql在for循环时,先第一行,在第二行
	for row in results:
        fname = row[0]#获取某行的第一列数据
        lname = row[1] #获取某行的第二列数据
        #打印结果
        print(fname,lname)
except:
	#报错
	print("Error:unable to fetch data")
#关闭数据库连接
db.close()
5.删除数据
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建表的sql删除语句
sql = """
		创建表的sql删除语句"""
try:
	#执行sql语句
	cursor.execute(sql)
	#提交修改
	db.commit()
except:
	#发生错误回滚
	db.rollback()
#关闭数据库连接
db.close()
6.数据库的更新
import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建sql更新语句
sql = """
		创建sql更新语句"""
try:
	#执行sql语句
	cursor.execute(sql)
	#提交修改
	db.commit()
except:
	#发生错误回滚
	db.rollback()
#关闭数据库连接
db.close()
7.执行事务

事务是一组操作流程,在数据库维护中的目的是保持数据的一致性,它有原子性,一致性,隔离性和持久性四大特性,

在python数据库编程中,当游标建立,就自动创建了一个隐形的数据库事务,游标的每一个方法都开始了一个新的事物

commit()和rollback()方法都开启了事务,commit()方法更新所有操作,rollback()方法回滚当前游标的所有操作

import pymysql
#创建connection对象为db
db = pymysql.connect(host="服务器ip",port=3310,user="root",passwd="han123..",db="testdb",charset='utf8')
#创建cursor游标
cursor = db.cursor()
#创建构建sql更新语句
sql = """
		创建sql更新语句"""
try:
	#执行sql语句
	cursor.execute(sql)
	#提交修改
	db.commit()
except:
	#发生错误回滚
	db.rollback()
#关闭数据库连接
db.close()
8.总结

只要是对表进行修改的,如增加数据,更新库,删除数据等,都要用commit()和rollback()方法

如果只是查询数据,则不用commit()和rollback()方法

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:python连接mysql(已经完成,亲测有效)-创新互联
标题网址:http://cxhlcq.com/article/pehcs.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部