python mysql 通用类_python mysql类

这是一个用Python编写的简单MySQL数据库操作类,包含了查询、执行SQL、事务处理等功能。类中定义了各种查询方法,如查询所有数据、单行数据、指定数量数据、某一列数据及单个值。同时,提供了execute方法用于执行SQL语句,并支持事务处理操作。
摘要由CSDN通过智能技术生成

python 操作mysql的简单封装类

1.[代码][Python]代码

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import MySQLdb

class db():

CURSOR_DICT = 0;

CURSOR_DEFAULT = 1;

def __init__(self, *args, **kwargs):

self.__connect = None;

self.__args = args;

self.__kwagrs = kwargs;

def queryAll(self, sql, *args):

cursor = self.__query(db.CURSOR_DICT, sql, *args);

data = cursor.fetchall();

cursor.close();

return data;

def queryRow(self, sql, *args):

cursor = self.__query(db.CURSOR_DICT, sql, *args);

data = cursor.fetchone();

cursor.close();

return data;

def querySize(self, size, sql, *args):

cursor = self.__query(db.CURSOR_DICT, sql, *args);

data = cursor.fetchmany(size);

cursor.close();

return data;

def queryColumn(self, sql, *args):

cursor = self.__query(db.CURSOR_DEFAULT, sql, *args);

data = cursor.fetchall();

cursor.close();

if not data:

return None;

return tuple([row[0] for row in data]);

def queryScalar(self, sql, *args):

cursor = self.__query(db.CURSOR_DEFAULT, sql, *args);

data = cursor.fetchone();

cursor.close();

if not data:

return None;

return data[0];

def __query(self, cursorClass, sql, *args):

connect = self.__getConnect();

if cursorClass == db.CURSOR_DICT:

cursor = connect.cursor(MySQLdb.cursors.DictCursor);

else:

cursor = connect.cursor();

cursor.execute(sql, *args);

return cursor;

def execute(self, sql, *args):

connect = self.__getConnect();

cursor = connect.cursor();

try:

cursor.execute(sql, *args);

connect.commit();

return True;

except:

connect.rollback();

return False;

finally:

cursor.close();

def transations(self, sqlArray, *args):

if len(sqlArray) <= 0:

return False;

connect = self.__getConnect();

cursor = connect.cursor();

try:

for index, sql in enumerate(sqlArray):

arg = args[index] if index in args else ();

cursor.execute(sql, *arg);

connect.commit();

return True;

except:

connect.rollback();

return False;

finally:

cursor.close();

def __getConnect(self):

if self.__connect:

return self.__connect;

self.__connect = MySQLdb.Connect(

*self.__args, **self.__kwagrs

);

return self.__connect;

def __del__(self):

if self.__connect:

self.__connect.close();

if __name__ == '__main__':

db = db(

host = '127.0.0.1', user = 'root', passwd = '123456', port = 3306,

db = 'lagou', charset = 'utf8'

);

# aaaa

userInfo = db.queryAll('select * from user');

for i in userInfo:

print i['id'], i['name'],i['email']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值