【呕心总结】python如何与mysql实现交互及常用sql语句

【呕心总结】python如何与mysql实现交互及常用sql语句

9 月初,我对 python 爬虫 燃起兴趣,但爬取到的数据多通道实时同步读写用文件并不方便,于是开始用起mysql。这篇笔记,我将整理近一个月的实战中最常用到的 mysql 语句,同时也将涉及到如何在python3中与 mysql 实现数据交换。

关于工具/库,特别说明下:

1、我安装了 mysql ,并直接采用管理员身份运行命令行提示符(cmd)查看 mysql,并没有安装任何 mysql 的可视化图形界面工具。

2、在 python 脚本中,我采用 pymysqlsqlalchemy 这两个库与 mysql 建立连接,用 pandas 来处理数据。

一、建立连接与数据交互

与 mysql 交互的方式,我目前共使用 4 种。其中采用管理员身份运行命令行提示符(cmd)查看 mysql,其操作图示可另写一篇。这里就不占篇幅了。mysql的可视化图形界面工具,我目前并没有用到,也没有迫切使用它的需要。另外 3 种方式都是通过 python 脚本进行。

情境A:python 演算得出数据,想要写入数据库

python 脚本已得到表格类大量数据,想要一次性写入数据库,常用代码如下:

import pandas as pd
# 与 mysql 建立连接
from sqlalchemy import create_engine
conn_eng = create_engine('mysql+pymysql://username:password@localhost:3306/databasename',encoding='utf8')  

# 调用 pandas 的方法,数据写入mysql
pd.io.sql.to_sql(your_df, "table_name", conn_eng, if_exists='append',index=False)

表格类数据,我用的是 pandasdataframe 结构。pd.io.sql.to_sql() 的参数还有许多其它用途,但上面这种是我个人使用最高频的。效果是:无需自己提前建表,将自动建新表。美中不足是:表的列属性自动生成,通常不合心意,还需检查和修改。

如果不想用 pd.io.sql.to_sql() 或者想更精细、复杂的操作,则用到下面的情境C。

情境B:python 脚本想从 mysql 拿到数据

如果已经存在某个表格,想要向该表格提交某条指令,需返回数据,我用的是 pandasread_sql () ,返回的数据类型是 pandasdataframe。sql 查询语句挺好写的,具体总结在本文下方。

import pymysql
# 与 mysql 建立连接
conn = pymysql.connect('localhost','username'
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值