概述
写一个连接数据库的class
要求:三个功能(查询,修改,关闭连接)
参数不要写死,能实现环境实时切换
import pymysql
import pandas as pd
class ConnectSQL:
# 初始化函数,属性包括数据库地址、端口、用户名、密码、数据库名称
def init(self, localhost, port, username, password, dbname):
self.localhost = localhost
self.port = port
self.username = username
self.password = password
self.dbname = dbname
self.conn = self.connectMysql()
# 打开数据库连接
def connectMysql(self):
# 将connect()中的参数定义在一个字典类型的对象config中,然后将这个字典对象传进connect方法中
config = {'host': self.localhost, 'user': self.username, 'password': self.password, 'db': self.dbname}
try:
conn = pymysql.connect(charset="utf8", **config) # connect方法进行数据库连接
except :
print("%s 数据库连接失败" % self.localhost)
exit()
print("%s 数据库连接成功" % self.localhost)
return conn
# 查询数据库
def selectSql(self, sql):
# DataFrame中的行列数量太多,print打印出来会省略中间显示...默认是显示100行
pd.set_option('display.max_columns', 5000) # 设置显示的最大列数
pd.set_option('display.max_rows', 5000) # 设置显示的最大的行数
pd.set_option('display.width', 1000) # 设置的显示的宽度,防止轻易换行
# pd.set_option('display.height', 1000) # 注意该方法执行的时候会报错,不存在display.height
# 使用cursor()方法获取操作游标
cursor = self.conn.cursor()
li = []
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有结果记录列表
results = cursor.fetchall()
results = list(map(list, results)) # 将获取到的元组结果转换为列表格式
# 获取字段信息之后,只保留字段名
col = cursor.description
for i in range(len(col)):
li.append(col[i][0])
# 以类似excel的二维表形式,格式化展示查询结果,第一个参数是内容,第二个是首行显示(列名),如果左侧需要展示行名需加上index参数
data = pd.DataFrame(results, columns=li)
print(data)
except:
print("Error: 数据查询失败,请检查SQL")
# 更新数据库
def updateSql(self, sql):
# 使用cursor()方法获取操作游标
cursor = self.conn.cursor()
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
self.conn.commit()
print("数据库更新成功")
except:
print("Error: 数据更新失败,请检查SQL")
# 关闭数据库
def closeSql(self):
try:
self.conn.close()
print("%s 数据库关闭成功" % self.localhost)
except:
print("%s 数据库关闭失败" % self.localhost)
db = ConnectSQL(‘数据库地址’, ‘端口’, ‘用户名’, ‘密码’, ‘数据库名称’)
db.selectSql(‘查询的sql语句’)
db.updateSql(‘更新的sql语句’)
db.closeSql()
最后
以上就是无辜菠萝为你收集整理的python连接MySQL进行查询、修改、关闭的操作的全部内容,希望文章能够帮你解决python连接MySQL进行查询、修改、关闭的操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复