【我理解的Python】2.7和3.5建立MySQL数据库连接
2017-09-05 本文已影响43人
大婶N72
总结我所理解的,整理过程的点点滴滴,只为回首往事时不因虚度年华而悔恨,不因碌碌无为而羞耻。
欢迎你来我的千聊平台,我们一起颠覆你的Python接口自动化测试
【样例解释】
# -*- coding: utf-8 -*-
'''
1.python2.7+MySQLdb模块建立MySQL数据库连接方法
'''
import MySQLdb,logging,os
class operationdb_interface(object):
def __init__(self,host_db='192.168.1.103',user_db='root',passwd_db='root',name_db='test_interface',port_db=3306,link_type=0):
'''
:param host_db: 数据库服务主机
:param user_db: 数据库用户名
:param passwd_db: 数据库密码
:param name_db: 数据库名称
:param port_db: 端口号,整型数字
:param link_type: 链接类型,用于输出数据是元祖还是字典,默认是字典,link_type=0
:return:游标
'''
try:
self.conn=MySQLdb.connect(host=host_db,user=user_db, passwd=passwd_db, db=name_db, port=port_db, charset='utf8')#创建数据库链接
if link_type==0:
self.cur=self.conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)#返回字典
else:
self.cur=self.conn.cursor()#返回元祖
except MySQLdb.Error as e:
print "创建数据库连接失败|Mysql Error %d: %s" % (e.args[0], e.args[1])
logging.basicConfig(filename = os.path.join(os.getcwd(), './log/syserror.log'),level = logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
logger = logging.getLogger(__name__)
logger.exception(e)
# -*- coding: utf-8 -*-
'''
1.python3.5+pymysql模块建立MySQL数据库连接方法
'''
import pymysql,logging,os
class operationdb_interface(object):
def __init__(self,host_db='192.168.1.103',user_db='root',passwd_db='root',name_db='test_interface',port_db=3306,link_type=0):
'''
:param host_db: 数据库服务主机
:param user_db: 数据库用户名
:param passwd_db: 数据库密码
:param name_db: 数据库名称
:param port_db: 端口号,整型数字
:param link_type: 链接类型,用于输出数据是元祖还是字典,默认是字典,link_type=0
:return:游标
'''
try:
if link_type == 0:
self.conn=pymysql.connect(host=host_db,user=user_db, passwd=passwd_db, db=name_db, port=port_db,
charset='utf8',cursorclass = pymysql.cursors.DictCursor)#创建数据库链接,返回字典
else:
self.conn = pymysql.connect(host=host_db, user=user_db, passwd=passwd_db, db=name_db, port=port_db,
charset='utf8') # 创建数据库链接,返回元祖
self.cur=self.conn.cursor()
except pymysql.Error as e:
print ("创建数据库连接失败|Mysql Error %d: %s" % (e.args[0], e.args[1]))
logging.basicConfig(filename = os.path.join(os.getcwd(), './log/syserror.log'),level = logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
logger = logging.getLogger(__name__)
logger.exception(e)
作者简介:
1、6年软件测试经验;2、擅长接口手工测试及自动化测试,UI自动化,Django 框架;3、自编自导自演了一套基于 Python + Django + MySQL 的自动化测试平台;
想更深入的了解,欢迎来我的千聊平台,我们一起颠覆你的Python接口自动化测试