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)

 

posted @ 2020-07-09 16:19  记不起的回忆  阅读(186)  评论(0)    收藏  举报