我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 封装MySQL类

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 封装MySQL类

   以后再也不用每次都重新写啦!

   

import MySQLdb 
OperationalError = MySQLdb.OperationalError
class MySQL: 
    def __init__(self,host,user,password,port=3306,charset="utf8"): 
        self.host=host 
        self.port=port
        self.user=user 
        self.password=password 
        self.charset=charset 
        try: 
            self.conn=MySQLdb.connect(host=self.host,port=self.port,user=self.user,passwd=self.password)
            self.conn.autocommit(False)
            self.conn.set_character_set(self.charset) 
            self.cur=self.conn.cursor() 
        except MySQLdb.Error as e: 
            print("Mysql Error %d: %s" % (e.args[0], e.args[1])) 
                    
    def __del__(self):
        self.close()
                         
    def selectDb(self,db): 
        try: 
            self.conn.select_db(db) 
        except MySQLdb.Error as e: 
            print("Mysql Error %d: %s" % (e.args[0], e.args[1])) 
                         
    def query(self,sql): 
        try: 
            n=self.cur.execute(sql) 
            return n 
        except MySQLdb.Error as e: 
            print("Mysql Error:%s\nSQL:%s" %(e,sql)) 
                         
    def fetchRow(self): 
        result = self.cur.fetchone() 
        return result 
                         
    def fetchAll(self): 
        result=self.cur.fetchall() 
        desc =self.cur.description 
        d = [] 
        for inv in result: 
            _d = {} 
            for i in range(0,len(inv)): 
                _d[desc[i][0]] = str(inv[i]) 
                d.append(_d) 
        return d 
                         
    def insert(self,table_name,data): 
        columns=data.keys()
        _prefix="".join(['INSERT INTO `',table_name,'`'])
        _fields=",".join(["".join(['`',column,'`']) for column in columns])
        _values=",".join(["%s" for i in range(len(columns))])
        _sql="".join([_prefix,"(",_fields,") VALUES (",_values,")"])
        _params=[data[key] for key in columns]
        return self.cur.execute(_sql,tuple(_params)) 
                       
    def update(self,tbname,data,condition):
        _fields=[]
        _prefix="".join(['UPDATE `',tbname,'`','SET'])
        for key in data.keys():
            _fields.append("%s = %s" % (key,data[key]))
        _sql="".join([_prefix ,_fields, "WHERE", condition ])
                           
        return self.cur.execute(_sql)
                       
    def delete(self,tbname,condition):
        _prefix="".join(['DELETE FROM  `',tbname,'`','WHERE'])
        _sql="".join([_prefix,condition])  
        return self.cur.execute(_sql)
                         
    def getLastInsertId(self): 
        return self.cur.lastrowid 
                         
    def rowcount(self): 
        return self.cur.rowcount 
                         
    def commit(self): 
        self.conn.commit() 
                       
    def rollback(self):
        self.conn.rollback()
                         
    def close(self): 
        self.cur.close() 
        self.conn.close()
                           
if __name__=='__main__':
    n=MySQL('127.0.0.1','root','123456',3306)
    n.selectDb('test')
    tbname='map'
    a=({'id':3,'x':3,'y':3},{'id':4,'x':4,'y':4},{'id':5,'x':5,'y':5})
    for d in a:
        n.insert(tbname,d)
    n.commit()


 一个重量级的MySQL-Python 封装类:facebook python mysql

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 封装MySQL类

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python 封装MySQL类

以后再也不用每次都重新写啦!    import MySQLdb OperationalError = MySQLdb.OperationalErrorclass MySQL: def __init__(self,host,user
2023-01-31

Python 类的封装

封装(Encapsulation)是对 object 的一种抽象,即将某些部分隐藏起来,在程序外部看不到,即无法调用(不是人用眼睛看不到那个代码,除非用某种加密或者混淆方法,造成现实上的困难,但这不是封装)。要了解封装,离不开“私有化”,就
2023-01-31

java封装类是如何封装的

在Java中,封装是一种面向对象编程的概念,用于隐藏内部实现细节,并通过公共方法提供对数据的访问和操作。封装类是为了封装基本数据类型或非基本数据类型的对象。封装类使用类来封装数据,是将数据和操作数据的方法封装在一个类中。这样可以保护数据,
2023-10-23

python中类怎么定义与封装

在Python中,可以使用class关键字来定义一个类。类的定义包括类名、类的属性和方法。类的封装是指将类的属性和方法封装起来,只允许通过类的接口访问和修改属性,以及调用方法。这样可以隐藏类的实现细节,提高代码的可维护性和安全性。下面是一个
2023-10-19

封装一个python的pymysql操作类

最近使用pymysql写脚本的情况越来越多了,刚好整理,简单封装一个pymysql的操作类import pymysqlclass MysqlDB:def __init__(self, host=None, port=None, db=No
2022-12-25

python-mysql数据库操作封装

前言:最近在学python,学到有关数据库的操作之时,想着把数据库的配置抽离出来,下面把代码贴出来~db_config.pyclass mysql_config(): def get_config(self, name):
2023-01-31

怎么在python中封装一个pyqt5类

怎么在python中封装一个pyqt5类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开
2023-06-14

python中的类怎么定义与封装

在Python中,可以使用关键字`class`来定义一个类。类是一种抽象的数据类型,可用于封装数据和方法。下面是一个简单的类的定义与封装的示例:```pythonclass Person:def __init__(self, name, a
2023-10-11

python自己封装的类如何调用

要调用自己封装的类,需要按照以下步骤进行操作:1. 在代码中导入自己封装的类。例如,如果你的类定义在一个名为`myclass.py`的文件中,可以使用以下语句导入该类:```pythonfrom myclass import MyClass
2023-08-24

java如何封装类

第一步我们首先需要了解java中的封装指的是什么,封装是一种将抽象性接口的实现细节都包装和隐藏起来的方法,它具有减少耦合,类内部结构可以修改,成员变量精准控制的优点,如下图所示: (推荐学习:java课
java如何封装类
2014-05-30

封装JDBC工具类

封装JDBC工具类在实际JDBC的使用中,存在着大量的重复代码:例如连接数据库、关闭数据库等这些操作!我们需要把传统的JDBC代码进行重构,抽取出通用的JDBC工具类!以后连接的任何数据库、释放资源都可以使用这个工具类重用性方案封装获取连接、释放资源两个方法提
封装JDBC工具类
2017-12-18

python自动化之pymysql库连接mysql数据库封装成类

import pymysqlif __name__ == ‘__main__‘:host = "被访问数据库的ip地址或者域名"port = 端口号user = "连接数据库的用户名"password = "连接数据库的密码"sql = "要查询的SQL语句
python自动化之pymysql库连接mysql数据库封装成类
2014-08-04

Python操作mysql数据库(封装基

新学Python,在这里分享操作mysql的全过程1、安装MySQL-python-1.2.3.win-amd64-py2.7.exe,这是操作mysql数据库的python库,有32位和64位之分,看自机器下载2、64位机器安装MySQL
2023-01-31

如何封装一个python的pymysql操作类

这篇“如何封装一个python的pymysql操作类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何封装一个python的
2023-07-04

编程热搜

目录