基于Python下MySQL数据库驱动
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。
1.mysql-connector-python
mysql-connector-python是MySQL官方提供的驱动。
安装:
pip3 install mysql-connector使用:
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。
安装:
pip3 install pymysql使用:
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数据库驱动的更多相关文章
- Windows下安装MySQLdb, Python操作MySQL数据库的增删改查
这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...
- python使用mysql数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
- 使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
- python专题-Mysql数据库(python3._+ PyMysql)
之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 Python2 ---> Python3 MySQLdb ...
- python专题-Mysql数据库(python2._+ Mysqldb)
Python使用MySQL数据库 MySQLdb驱动从2014年1月停止了维护. Python2 MySQLdb 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安 ...
- Python使用MySQL数据库(新)
之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 然而,2016年开始,我从Python2切换到了Python3 ...
- Python连接MySQL数据库的多种方式
上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...
- Python 基于Python从mysql表读取千万数据实践
基于Python 从mysql表读取千万数据实践 by:授客 QQ:1033553122 场景: 有以下两个表,两者都有一个表字段,名为waybill_no,我们需要从tl_waybill_b ...
- Python使用MySQL数据库【转】
转自 Python使用MySQL数据库(新)[很详细][fetchall和fetchmany有啥区别呢?] - CSDN博客https://blog.csdn.net/u011350541/artic ...
- Python使用MySQL数据库(新)(转)
http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步 ...
随机推荐
- Django: AttributeError: 'str' object has no attribute 'decode'
Django安装Mysql驱动 pip install PyMySQL 在Django的工程同名子目录的__init__.py文件中添加如下语句 from pymysql import install ...
- protolator - Protobuf <==> json
github.com/hyperledger/fabric-config/protolator 是 Hyperledger Fabric 中的一个 Go 包,用于将 Protocol Buffers( ...
- (转) [Android测试] AS+Appium+Java+Win自动化测试之三: 基础知识和Appium界面
一.把上一章的demo先看懂 AndroidContactsTest.Java public class AndroidContactsTest { //Driver private AppiumDr ...
- 知识图谱(Knowledge Graph)根本概念
目录 知识图谱 定义 基础概念: 知识图谱构建的关键技术 知识图谱的构建 实体命名识别 知识抽取 实体统一 指代消解 知识图谱的存储 RDF和图数据库的主要特点区别 知识图谱能干什么 反欺诈 不一致性 ...
- SpringBoot3数据库集成
标签:Jdbc.Druid.Mybatis.Plus: 一.简介 项目工程中,集成数据库实现对数据的增晒改查管理,是最基础的能力,而对于这个功能的实现,其组件选型也非常丰富: 通过如下几个组件来实现数 ...
- LeetCode 周赛上分之旅 #39 结合中心扩展的单调栈贪心问题
️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问. 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越 ...
- Programming abstractions in C阅读笔记:p132-p137
<Programming Abstractions In C>学习第53天,p132-p137,3.2小节"strings"总结如下: 一.技术总结 3.2小节介绍了字 ...
- vue3探索——组件通信之依赖注入
背景 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props.想象一下这样的结构:有一些多层级嵌套的组件,形成了一颗巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据.在 ...
- 一个.NET 7 + DDD + CQRS +React+Vite的实战项目
项目简介 基于SignalR实现聊天通信,支持横向扩展,可支撑上万用户同时在线聊天 后端架构 后端技术栈采用 .NET 7 PostgreSQL (业务数据库) Redis(用于存放热点数据,和支持S ...
- QA|conftest使用了fixture但是没生效的原因|Pytest
conftest.py中使用了fixture但是没生效,后面发现是因为autouse默认False导致,修改后代码如下 # conftest.py @pytest.fixture(scope='ses ...