由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。

1.mysql-connector-python

​ mysql-connector-python是MySQL官方提供的驱动。

  1. 安装:

    pip3 install mysql-connector

  2. 使用:

    2.1 创建数据库连接,执行SQL查询数据;

    import mysql.connector
    
    # 创建数据库连接配置
    config = {
    "host":"rm-a.mysql.rds.aliyuncs.com",
    "port":3306,
    "user":"root",
    "password":"psw",
    "db":"examin_prod",
    "charset":"utf8"} def getExaminReportMCY(agency_id='123456789', examin_date='2021-04-01'):
    '''
    mysql-connector-python
    '''
    # 创建数据库连接
    conn = mysql.connector.connect(**config)
    # 得到一个可以执行SQL语句的游标对象
    cursor = conn.cursor(dictionary=True)
    # 使用 execute() 方法执行 SQL 查询
    # format_map 格式化字符串拼接SQL参数
    cursor.execute(SQL_EXAMIN_REPORT.format_map({"agency_id": agency_id, "examin_date": examin_date}))
    # 使用 fetchall() 方法获取所有数据
    data = cursor.fetchall()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close() return data # SQL
    SQL_EXAMIN_REPORT = '''SELECT
    ther.id,
    FROM
    t_health_examin_record
    WHERE
    agency_id = '{agency_id}' AND examin_date = '{examin_date} 00:00:00'
    '''

2.pymysql

​ pymsql是Python中用于连接 MySQL 服务器的一个库,目前pymysql支持python3.x。

  1. 安装:

    pip3 install pymysql

  2. 使用:

    2.1 创建数据库连接,执行SQL查询数据;

    import pymysql
    
    def getExaminReport(agency_id='123456789', examin_date='2021-04-01'):
    # 创建数据库连接
    conn = pymysql.connect(host='rm-a.mysql.rds.aliyuncs.com',
    port=3306,
    user='root',
    password='psw',
    db='examin_prod',
    charset='utf8') # 创建游标对象,得到一个可以执行SQL语句的游标对象
    #cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
    # 使用 cursor(cursor=pymysql.cursors.DictCursor) 方法创建一个可以执行SQL语句并且将结果作为字典返回的游标
    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 使用 execute() 方法执行 SQL 查询
    # format_map 格式化字符串拼接SQL参数
    cursor.execute(SQL_EXAMIN_REPORT.format_map({"agency_id": agency_id, "examin_date": examin_date}))
    # 使用 fetchall() 方法获取所有数据
    data = cursor.fetchall() # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close() return data # SQL
    SQL_EXAMIN_REPORT = '''SELECT
    ther.id,
    FROM
    t_health_examin_record
    WHERE
    agency_id = '{agency_id}' AND examin_date = '{examin_date} 00:00:00'
    '''

基于Python下MySQL数据库驱动的更多相关文章

  1. Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

    这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...

  2. python使用mysql数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  3. 使用python操作mysql数据库

    这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

  4. python专题-Mysql数据库(python3._+ PyMysql)

    之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 Python2 ---> Python3 MySQLdb ...

  5. python专题-Mysql数据库(python2._+ Mysqldb)

    Python使用MySQL数据库 MySQLdb驱动从2014年1月停止了维护. Python2 MySQLdb 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安 ...

  6. Python使用MySQL数据库(新)

    之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 然而,2016年开始,我从Python2切换到了Python3 ...

  7. Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...

  8. Python 基于Python从mysql表读取千万数据实践

    基于Python 从mysql表读取千万数据实践   by:授客 QQ:1033553122 场景:   有以下两个表,两者都有一个表字段,名为waybill_no,我们需要从tl_waybill_b ...

  9. Python使用MySQL数据库【转】

    转自 Python使用MySQL数据库(新)[很详细][fetchall和fetchmany有啥区别呢?] - CSDN博客https://blog.csdn.net/u011350541/artic ...

  10. Python使用MySQL数据库(新)(转)

    http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步 ...

随机推荐

  1. vlunhub笔记(一)deathnote

    (一)查询靶机ip 通过 arp-scan -l 查询目标靶机ip,查询结果如下图红框所示. (二)信息收集 直接访问目标ip,发现无法访问,只返回网站域名. 网站返回域名,就将该域名添加进hosts ...

  2. 避坑 | OI排雷新生态

    可持久化线段树 query 的时候两结点的 sz 相减的时候一定是左儿子相减. 可持久化线段树建新点要将原来的不更改的节点连接上. 动态规划也可以倒着考虑. P3957的单调队列是先加入后删除,否则加 ...

  3. markdown之mermaid

    官方文档 01 简单的流程图 TD或TB:top to bottom,从上到下的流程图 LR:从左到右 其它:RL,BT flowchart LR; A([节点A的圆矩框]) --> |AB之间 ...

  4. 三维模型OSGB格式轻量化压缩点云处理技术探讨

    三维模型OSGB格式轻量化压缩点云处理技术探讨 点云是一种常用的三维模型表示方法,由于其具有高精度.高保真度.易处理等优点,因此在很多领域都得到了广泛应用.但是,点云数据的存储量通常比较大,为了使点云 ...

  5. 通过Scrum实现最大生产力的五种方法

    在数字化.信息化.智能化蓬勃发展的今天,敏捷开发和Scrum已成为重塑项目管理的重要方式. 敏捷是一种体现不同方法的思维方式,包括了Scrum,看板,极限编程(XP).精益开发等众多框架. Scrum ...

  6. 《CTFshow-Web入门》03. Web 21~30

    @ 目录 web21 题解 原理 web22 题解 原理 web23 题解 原理 web24 题解 原理 web25 题解 原理 web26 题解 web27 题解 web28 题解 web29 题解 ...

  7. 【matplotlib基础】--刻度

    Matplotlib中刻度是用于在绘图中表示数据大小的工具. 刻度是坐标轴上的数字或标签,用于指示数据的大小或值,通常以整数或小数表示,具体取决于坐标轴的类型和限制. 1. 主次刻度 默认的绘制时,坐 ...

  8. 15.3K Star,超好用的开源协作式数字白板:tldraw

    大家好,我是TJ 今天给大家推荐一个开源协作式数字白板:tldraw. tldraw的编辑器.用户界面和其他底层库都是开源的,你可以在它的开源仓库中找到它们.它们也在NPM上分发,提供开发者使用.您可 ...

  9. nginx URLRewrite基础配置

    环境准备: 主机 ip control01 192.168.29.128 nginx01 192.168.29.101 在两台机器上分别部署nginx control01主机nginx配置的内容如下: ...

  10. 12 款最棒 Vue 开源 UI 库

    文章目录 Element Plus - 经典中的经典,全面支持 Vue 3 TDesign Vue - 鹅厂优质 UI 组件,配套工具完满,设计工整,文档清晰 ArcoDesign Vue- 字节优质 ...