python 数据库链接(1)
1、配置文件
class DBData: host = "数据库地址" user = "用户名" passwd = "密码" dbname = "数据库名" port = 3306
2、链接数据库公共方法
import pymysql import pymysql.cursors class SqlLink(object): def ConnOpen(self,charset="utf8"): """ 创建连接 :param charset: :return: """ try: conn = pymysql.connect(host=DBData.host, user=DBData.user, passwd=DBData.passwd, db=DBData.dbname, port=DBData.port, cursorclass=pymysql.cursors.DictCursor,charset=charset,autocommit=True) # connect 模块函数链接数据库返回 connection对象 cur = conn.cursor() # 创建一个使用链接的新的Cursor对象 return (conn,cur) except Exception as e: print(e.args) raise e.args def ConClose(self,conn,cur): """ 关闭连接 :param conn: :param cur: :return: """ cur.close() conn.close()
3、查询引用
class testsql(SqlLink): def selectdata(self,param): conn, cur = self.ConnOpen() try: sql = "SELECT * FROM `***` WHERE `id` = %s" cur.execute(sql, param) data = cur.fetchone() # 一条数据 Dictionary 字典类型 {} data = cur.fetchall() # 多条数据 tuple 元组类型 () data = list(data) 转列表 conn.commit() # 提交事务 用于增删改 select 可忽略 return data except Exception as e: conn.rollback() # 回滚事务 语句执行失败 回滚 # 此处加日志 raise e.args finally: self.ConClose(conn, cur)