Python3:python+mysql数据库连接及操作
Posted KurtKuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3:python+mysql数据库连接及操作相关的知识,希望对你有一定的参考价值。
python+mysql数据库连接及操作
内容说明
本例子使用的python3.7,PyMySQL0.9.3版本,主要是讲解python如何连接mysql数据库,并对数据库进行查询,增删改等操作,本例中封装了一个基础的mysql数据库连接类,主要是用于当项目中存在多个数据库时,可通过传入链接参数,指定调用对应数据库并进行操作。
实例内容
实现方式及代码内容请参见下诉内容,直接上码:
# -*- coding: utf-8 -*-
import pymysql.cursors
class conn:
def do_one(self, conn, sql):
"""
执行单条数据的变更操作(增、删、改)
:param conn: 传入想要连接的数据库参数,传入格式为:'host': '127.0.0.1', 'port': 3060, 'user': 'test', 'password': 'test', 'db': 'TEST',
'charset': 'utf8mb4'
:param sql: 传入需要执行的sql
:return: 返回执行结果,包含调用状态status(True/False),响应消息msg,返回结果示例:"status": False, "result": (), "msg": "传入执行sql为空,请确认!!!"
"""
# 定义一个默认返回消息
res = "status": True, "result": (), "msg": ""
# 判断传入执行sql的参数是否为空如果为空则返回错误消息
if not len(sql) > 0 and sql == "":
res = "status": False, "result": (), "msg": "传入执行sql为空,请确认!!!"
return res
# 获取数据库连接,并建立一个游标,然后执行并提交sql
try:
connection = pymysql.connect(**conn)
cursor = connection.cursor()
result = cursor.execute(sql)
connection.commit()
# 异常处理,若sql在执行过程中存在异常则抛出对应异常消息,记录并将执行sql通过响应结果返回给调用方
except Exception as err:
cursor.close()
connection.close()
res["status"] = False
res["msg"] = [sql, err]
return res
# 关闭数据库连接
cursor.close()
connection.close()
res["result"] = result
return res
def select(self, conn, sql):
"""
执行数据库查询操作
:param 传入想要连接的数据库参数,传入格式为:'host': '127.0.0.1', 'port': 3060, 'user': 'test', 'password': 'test', 'db': 'TEST',
'charset': 'utf8mb4'
:param sql:传入查询sql
:return: 返回执行结果,包含调用状态status(True/False),响应消息msg,返回结果示例:"status": False, "result": (), "msg": "传入执行sql为空,请确认!!!"
"""
res = "status": True, "result": (), "msg": ""
try:
connection = pymysql.connect(**conn)
cursor = connection.cursor()
cursor.execute(sql)
result = cursor.fetchall()
except Exception as err:
# print(err)
res['msg'] = [sql, err]
res['status'] = False
cursor.close()
connection.close()
return res
cursor.close()
connection.close()
res['result'] = result
return res
本博客主要是用来记录学习过程中的一些细节问题,如果能够解决大家的问题那是最好不过的了,写的不是很好,敬请指正和讨论。
以上是关于Python3:python+mysql数据库连接及操作的主要内容,如果未能解决你的问题,请参考以下文章