python mysql基础封装

本文介绍了为简化Python执行MySQL语句而进行的数据库操作类封装,包括环境配置、目标设定及其实现过程,旨在减少重复代码,提高代码可读性。
摘要由CSDN通过智能技术生成

背景

python执行mysql语句的话牵扯到的操作还挺多,简单说每次执行一条语句需要进行数据库连接、获取游标、执行语句、获取返回数据、断开连接,如果其中出错还需要回滚游标等操作,每次都写这么一大串代码会看起来十分冗余,于是考虑写一个类来封装上述操作。

基本的mysql操作

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost", "user", "password", "dbname")

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

目标

实现一个可以简单操作mysql的类

解决方案

环境

macOS 10.14
python3.6.5
PyMySQL==0.9.3

这里插一句题外话,有的环境安装MySQLdb这个package的时候会报错,解决起来很复杂,一个简单的方案是安装pymysql,然后import的时候按如下操作即可实现与MySQLdb一样的效果。

import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

实现

# mysql_util.py
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

class MysqlUtil(object):
    @classmethod
    def init(cls, _cfg):
        '''
        _cfg是一个词典,里面保存了mysql的设置
        {'db_name' : "my_db_name",
        'host' : 'localhost',
        'port' : 'my_port_to_db',
        'user' : 'username',
        'password' : 'happy_password'}
        '''
        cls.mysql_cfg = _cfg
       print('init MysqlUtil success, cfg: %s',
              list(cls.mysql_cfg.items()))

    @classmethod
    def _get_mysql_cursor(cls, database)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值