由于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. React: 动态添加样式

    问题背景 在软件开发过程中,经常会出现动态添加style或className,比如:同一个表格组件在A处调用,需要固定前四列数据, B处调用则不用,那这时候,动态添加元素就派上了用场. 解决方案 如下 ...

  2. Mapbox Style 规范

    https://my.oschina.net/u/3185947/blog/4819218

  3. centos7离线安装harbor

    前言 harbor是一个docker私有仓库,基于docker官方的registry,提供GUI.权限控制.项目管理等功能. 安装harbor前,需要先安装docker和docker-compose ...

  4. centos7升级内核到最新稳定版

    前言 centos7默认的内核版本才3.10,诸如VXLAN.eBPF等特性无法体验,因此需要升级.目前(2022.02)Linux的内核版本已更新到5.16. 步骤 更新仓库 yum update ...

  5. 使用在线Excel时,有哪些方法可以引入计算函数?

    摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在日常生活和工作中,我们都会或多或少的使用Excel中的 ...

  6. 【故障公告】一而再,再而三,三翻四复:数据库服务器 CPU 100%

    会员救园,故障捣乱,每当困难时,故障们总是喜欢雪上加霜过来考验你. 今天下班前 17:43~17:47 期间,园子的 SQL Server 数据库服务器突然出现 CPU 100% 问题. 发现问题后, ...

  7. Python操作Redis大全

    一.字符串 string Python操作Redis的redis模块对字符串(string)的主要操作函数包括:SET.GET.GETSET.SETEX.SETNX.MSET.MSETNX.INCR( ...

  8. 使用 Sealos 在离线环境中光速安装 K8s 集群

    作者:尹珉.Sealos 开源社区 Ambassador,云原生爱好者. 当容器化交付遇上离线环境 在当今快节奏的软件交付环境中,容器化交付已经成为许多企业选择的首选技术手段.在可以访问公网的环境下, ...

  9. JSTL常用代码总结

    1. jstl判空: (1) 须先引人<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix=" ...

  10. .NET Core 实现Excel的导入导出

    目录 前言 NPOI简介 一.安装相对应的程序包 1.1.在 "管理NuGet程序包" 中的浏览搜索:"NPOI" 二.新建Excel帮助类 三.调用 3.1. ...