zoukankan      html  css  js  c++  java
  • 用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()
  • 相关阅读:
    2020-05-28 Beta冲刺第一天
    团队作业第六次——凡事预则立
    团队作业第六次——alpha阶段问题总结随笔
    团队作业第五次——冲刺总结
    2020-05-08 冲刺第十天
    团队作业第五次——测试随笔
    软件工程实践2019第三次作业
    软件工程实践2019第二次作业
    软件工程实践2019第一次作业
    M4C:TextVQA的分布预测多模态Transformers
  • 原文地址:https://www.cnblogs.com/ustcinfo-qc/p/13879509.html
Copyright © 2011-2022 走看看