首頁  >  文章  >  後端開發  >  Python 資料庫相關操作

Python 資料庫相關操作

巴扎黑
巴扎黑原創
2016-12-08 10:39:021297瀏覽

主要是透過python的DBUtils函式庫、MySQLdb函式庫來實現連線池操作資料庫 

import MySQLdb
from DBUtils.PooledDB import PooledDB
class DBHelper(object):
    
    __pool = None
    
    def __init__(self):
        self._conn = DBHelper.__getConnection()
        self._cursor = self._conn.cursor()
    @staticmethod
    def __getConnection():
        if DBHelper.__pool is None :
            __pool = PooledDB(creator = MySQLdb,
                              mincached=1,
                              maxcached=20,
                              host = '127.0.0.1',
                              port = 3306,
                              user = 'root',
                              passwd = '123456',
                              db = 'test')
        
        return __pool.connection()
    def execute(self, sql, parameter=None):
        if parameter is None:
            self._cursor.execute(sql)
        else :
            self._cursor.execute(sql, parameter)
        
    def readOne(self, sql, parameter=None):
        if parameter is None :
            count = self._cursor.execute(sql)
        else :
            count = self._cursor.execute(sql, parameter)
        if count > 0:
            return self._cursor.fetchone()
        else :
            return None
        
    def readList(self, sql, parameter=None):
        if parameter is None :
            count = self._cursor.execute(sql)
        else :
            count = self._cursor.execute(sql, parameter)
        if count > 0:
            return self._cursor.fetchall()
        else :
            return None
        
    def commint(self):
        self._conn.commit()
        
    def close(self):
        if self._cursor :
            self._cursor.close()
        if self._conn :
            self._conn.close()

            


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn