由于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. sqli笔记

    MySQL数据库自带的数据库information_schema 里面有三个比较重要的表  SCHEMATA .TABLES . COLUMNS  保存数据库所有的数据库名 表名  字段名 SCHEM ...

  2. 发布关于PostGIS对于USD格式的拓展

    我们非常高兴的发布为了一年一度的SIGGRAPH 2023发布关于为PostGIS支持USD格式的新拓展. 新添加了3个函数 ST_AsUSDA(geom geometry, usd_root_nam ...

  3. 【go笔记】使用标准库flag解析命令行参数

    前言 Go语言标准库中提供了一个包flag可以解析命令行参数. 示例代码:文件读取 package main import ( "fmt" "flag" &qu ...

  4. Druid未授权访问漏洞小记

    某一次在对某网站做渗透测试时,无意中发现了这个漏洞,在此做个记录 Druid未授权访问漏洞: Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行 ...

  5. 通过实战操作学git

    虽然说 "好记性不如烂笔头",但是学习不看等于没学,学习不用等于不会,所以说"实战才是检验真理的唯一标准",通过实战则会学到很多东西. 因为陈** 太懒,并且不 ...

  6. 3、Spring之入门案例

    3.1.创建module 3.1.1.右击project,创建新module 3.1.2.选择maven 3.1.3.设置module名称和路径 3.1.4.module初始状态 3.1.5.配置打包 ...

  7. WPF学习:Slider — 冒泡显示值

    想做一个下图所示的Slider,以冒泡的方式显示其Value值,该怎么做呢? 功能要求,当鼠标放在滑块上的时候,冒"泡"显示值:当滑块移动的时候,"泡"跟随移动 ...

  8. 【译】IntelliJ IDEA 2023.2 最新变化——JetBrains IDE 中的 AI 助手

    前言 本周所有基于 IntelliJ 的 IDE 和 .NET 工具的 EAP 版本都包含一个主要新功能:AI Assistant.本博文重点介绍我们基于 IntelliJ 的 IDE,并且即将推出专 ...

  9. [htmlayout] csss! 改变值/文本

    <input type="text" value="123" /> <div class="test">内容内容&l ...

  10. docker搭建CMS靶场

    项目地址:https://github.com/Betsy0/CMSVulSource 该项目是为了方便在对CMS漏洞进行复现的时候花费大量的时间在网上搜索漏洞源码,从而有了此项目.此项目仅为安全研究 ...