Pandas连接MySQL数据库

server/2024/12/22 13:14:31/

pandas是一个强大的Python工具包,能够快速帮助我们做很多数据处理。但是在利用pandas连接数据库时,也会遇到很多问题,在此我总结了一个相对较为简单的连接范式,供大家参考学习。

先上代码:

import pandas as pd# 数据库参数
MYSQL_USER = 'root'
MYSQL_PASS = '****' # 你的密码
MYSQL_HOST = "localhost" # 你的host
MYSQL_PORT = 3306
MYSQL_CHARSET = 'utf8mb4' # 数据库编码格式# 数据库名称
MYSQL_DATABASE = "system"import pymysql
from sqlalchemy import create_engine# url
MYSQL_DATABASE_URL = fr"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASS}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}?charset={MYSQL_CHARSET}"
# 创建引擎
engine = create_engine(MYSQL_DATABASE_URL)# 数据库调用函数
def access_db(sql, data=None, is_many=False):''':param sql: sql执行语句:param data: 数据,如果没有数据则执行sql代码:param is_many: 是否为多条数据:return: 查询数据'''conn = pymysql.connect(host=MYSQL_HOST, port=MYSQL_PORT, user=MYSQL_USER,password=MYSQL_PASS, db=MYSQL_DATABASE, charset=MYSQL_CHARSET)cur = conn.cursor()if is_many:try:cur.executemany(sql, data)conn.commit()except Exception as e:print(e)conn.rollback()elif data:try:cur.execute(sql, data)conn.commit()except Exception as e:print(e)conn.rollback()else:cur.execute(sql)exe_data = cur.fetchall()conn.commit()return exe_datacur.close()conn.close()# 查询数据
sql = "select * from user"
df_user = pd.read_sql(sql=sql, con=engine)
print(df_user)

上述代码中用到的函数,在查询语句,插入语句(一次可插入一条或多条)等方面都可以直接调用,但需要确保sql语句的正确性,注意更改数据库参数为你自己需要连接的数据库,sql建议在代码调用前最好直接在数据库进行过查询并能够获取到正确的数据再放入代码层,避免因为一些基本语法问题导致问题定位浪费时间和精力。


http://www.ppmy.cn/server/6605.html

相关文章

LeetCode刷题总结 | 图论3—并查集

并查集理论基础 1.背景 首先要知道并查集可以解决什么问题呢? 并查集常用来解决连通性问题。大白话就是当我们需要判断两个元素是否在同一个集合里的时候,我们就要想到用并查集。 并查集主要有两个功能: 将两个元素添加到一个集合中。判…

【MATLAB源码-第31期】基于matlab的光通信中不同调制方式的误码率对比。

操作环境: MATLAB 2022a 1、算法描述 1. 光通信: 光通信是一种利用光波传输信息的技术。它使用光信号作为信息的载体,通过调制光波的特性来传输数据,通常利用光纤作为传输介质。光通信具有高带宽、低延迟和大容量等优点&#…

Golang学习笔记_RabbitMQ的原理架构和使用

RabbitMQ 简介 实现了高级消息队列协议(Advanced Message Queuing Protcol)AMQP消息队列中间件的作用(Redis实现MQ里面有写过,这里简单带过) 解耦削峰异步处理缓存消息通信提高扩展性 RabbitMQ 架构理解 #mermaid-s…

CentOS配置LNS和VSR作为LAC建立L2TP隧道

正文共:1859字 13图,预估阅读时间:5 分钟 很久之前发过配置服务器上公网的文章(我用100块钱把物理服务器放到了公网,省了几万块!),当时服务端是CentOS 7的系统,L2TP拨号用…

CSS 预处理器

文章目录 特点变量和混合嵌套规则运算和函数扩展性和可定制性代码组织和模块化未来CSS特性的支持 语法嵌套变量运算函数继承Mixin条件语句导入 Sass、Less、Stylus 区别语法差异变量定义混合器(Mixins)函数和运算 特点 变量和混合 预处理器允许你使用变量来存储常用的值&…

途游游戏,科锐国际(计算机类),得物,蓝禾,奇安信,顺丰,康冠科技,金证科技24春招内推

途游游戏,科锐国际(计算机类),得物,蓝禾,奇安信,顺丰,康冠科技,金证科技24春招内推 ①得物 【岗位】技术,设计,供应链,风控&#xff0…

HTML5+CSS3小实例:菜单按钮的三种切换动画

实例:菜单按钮的三种切换动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initia…

比特币减半后适合挖矿吗

减半是指比特币挖矿奖励减半的过程&#xff0c;每当挖出210,000个区块后&#xff0c;比特币的挖矿奖励就会减半。减半后&#xff0c;每个区块的挖矿奖励减少一半&#xff0c;这对于矿工来说意味着他们挖到新的比特币的速度将会减慢。 减半对于挖矿是否适合取决于多个因素&…