• 用Python的MySQLdb库连接数据库


    作者:cao.dingzheng [ZSK]

      目前mysql数据库是应用较为广泛的数据库,毕竟是开源、免费的。而Python也有第三方库用于连接mysql进行操作,其中之一是MySQLdb,下方也是基于MySQLdb进行的方法封装,目前封装了连接数据库、插入数据和断开数据库的方法。连接数据库的完整流程应该分三步:连接数据库——>操作数据库(如建表、插入数据、修改数据等等)——>断开数据库连接,下面也是一个完整的流程,有了基本框架了。调用的时候首先需要对class进行实例化(如connect_database=Connect_database())后调用封装的方法,其中进行了参数私有化,Python私有化变量和参数是用两个下划线__来实现的。

    from MySQLdb import *
    # 连接数据库
    class Connect_database(object):
        # 连接数据库
        def __init__(self, host, port, user, password, db, charset='utf8'):
            self.__host = host
            self.__port = port  # mysql端口
            self.__username = user  # mysql远程连接用户名
            self.__password = password  # mysql远程连接密码
            self.__db = db  # mysql使用的数据库名
            self.__charset = charset  # mysql使用的字符编码,默认为utf8
            try:
                self.__connect_database = connect(host=self.__host, port=self.__port, user=self.__username, password=self.__password, db=self.__db, charset=self.__charset)
            except:
                print('连接失败')
    
        # 插入数据
        def insert_data(self, batch, name, call_time, status, tablename='cix_alg_routing_inspection', time_run=None, err_log=None):
            sql = "insert into " + tablename + "(model, call_time, status, time_run, err_log, batch) values('%s', '%s', '%s', '%s', '%s', %d)" 
                  % (name, call_time, status, time_run, err_log, batch)
            try:
                cur = self.__connect_database.cursor()
                cur.execute(sql)
                self.__connect_database.commit()
                cur.close()
                result = sql+'插入成功'
            except Exception as e:
                print('插入失败', e)
                result = sql+'插入失败'
                self.__connect_database.rollback()
            return result
    
        # 断开数据库连接
        def close_database(self):
            self.__connect_database.close()
  • 相关阅读:
    n维向量空间W中有子空间U,V,如果dim(U)=r dim(V)=n-r U交V !={0},那么U,V的任意2组基向量的组合必定线性相关
    生成相关矩阵
    线性变换与基变换
    关于基变换
    证明 U and V={0}时 dim(U+V)=dim(U)+dim(V)
    开发框架继承窗体添加按钮并授权
    线性方程组与基尔霍夫定律
    按绑定数据设置单元格风格
    威伦TK6070iQ触摸屏的使用
    s7-200 PID控位
  • 原文地址:https://www.cnblogs.com/ustcinfo-qc/p/13879509.html
Copyright © 2020-2023  润新知