【python】python vs Excel ( 与mysql数据库之间的交互)

通过python与mysql数据库做交互

到目前为止大部分案例的演示数据都是基于文件进行读取的。那么python如何跟数据库之间做交互才是未来我们真正需要关心的。因为我们的数据最终还是要存储到数据库中去的。

python与数据库之间的交互有很多。可以通过第三方包及API与不同的数据库之间做交互。我个人的环境资源有限,因此这篇稿子是主要记录python是如何同mysql数据库之间进行交互的。

一,安装并配置mysql数据库

https://www.cnblogs.com/liupengpengg/p/7092789.html

上述是我mysql数据库的章节,感兴趣的可以按照此步骤进行安装。这个是基于windows平台的安装。如果您装的是linux的话,可以yum install mysql 或者通过官网下载更新版本的mysql到本地安装。

友情提示:mysql数据库安装过后,windows的话要自行创建my.ini配置文件。里面的配置非常的重要如果配置项有问题,会导致mysql的services不能被正常启动。建议配置项一个个配置然后restart mysql的服务,能启动说明此配置项没问题。另外mysql配置完毕后默认很多权限及参数是OFF的。比如说自动load本地file到数据库默认就是不被打开的。所以要在my.ini中配置允许load本地文件才可以通过load data infile命令将本地文件传入mysql。具体我就不一一讲解了。遇到问题请问度娘。

我把我本人遇到的坑的解决方案链接提供在下方了。如果您也遇到了请尝试解决。

https://my.oschina.net/u/1018607/blog/857728

https://blog.csdn.net/xb1231232/article/details/106181694

二,安装 Heidisql (免费的mysql图形化管理工具)

https://www.heidisql.com/download.php

三,安装mysql依赖包

安装完mysql数据库后,对应的也要在python中安装对应的依赖包,如下。

import pymysql

from sqlalchemy import create_engine

如果你直接在python IDE中导入这两个包是肯定不存在的。如果您用的事pycharm的话可以尝试intall这两个包如果安装成功最好。如果不行请通过windows命令行中的pip来进行安装。

建议不管您用的是什么IDE都直接通过pip install依赖包。

pip install pymysql

pip install sqlalchemy

四,安装EditPlus 5 或者 EmEditor工具

标题这两个工具可以将我们Excel中导出的xlsx,csv, txt 等格式的数据做清洗用的。可以帮助我们更好的对数据进行规整,把规整过后的数据存入数据库。

EditPlus 5 安装及使用

https://blog.csdn.net/syz201558503103/article/details/102327356

EmEditor 安装及使用

https://www.cnblogs.com/eyesfree/p/9993304.html

https://www.cr173.com/html/25305_1.html

五,python中操作mysql数据库案例演示

注释:首先如何使用mysql这里不作解释,如果有疑问请参照我mysql篇的章节。以下的所有演示都是基于数据库已经有数据,或者说有空表,如何用python对其进行增删改查访问等操作的演示。下面这个就是我用HeidiSQL打开的MySQL数据库。接下来我们进行的所有操作都围绕all_students这章表来进行。

1. 通过python打开mysql中的all_students这章表

注意:代码依然是基于jupyther来运行的。如果您用的是.py的文件打印请都用print()来运行。

#%%

import pandas as pd

import pymysql

from sqlalchemy import create_engine

#链接mysql数据库(指定到database名)

con = create_engine("mysql+pymysql://root:root@localhost/liupeng")

#链接到具体的table

read_sql01 = pd.read_sql('all_students',con)

read_sql01.head(10) #读取数据表内容(10行)

2. 按照指定的表头来读取mysql数据

#按照指定的表头来读取数据

read_sql02 = pd.read_sql('all_students',con,columns=["cls_id","exam_nu","stu_name","gender","total"])

read_sql02.head(3)

3. 按照mysql语句对数据进行筛选

#%%

#通过reqd_sql(sql语句)的方式读取部分数据

read_sql03 = pd.read_sql('select cls_id,stu_name,total from liupeng.all_students where cls_id < 3 order by total',con=con)

read_sql03

4. 向mysql数据表添加一条数据(增)

注释:对于mysql中的增删改所用到的命令都是con.execute函数!!!

数据插入前:

#执行sql的增删改操作用.execute("sql语句")的函数

#追加一条sql语句到mysql数据库

con.execute("insert into liupeng.all_students values ('1','刘景芮',100,100,98,298,'女',2018746)")

数据插入后:

5. 向mysql数据表修改一条数据(改)

注意:这里我查的是exam_nu=2018746,因为查名字已经变成关羽了。所以用唯一的id号来进行查询

con.execute("update liupeng.all_students set stu_name='关羽' where exam_nu=2018746 ")

6. 向mysql数据库删除一条数据(删)

注意:条目被删除后无论你指向stu_name还是exam_nu,返回结果都是0,因为数据本身已经被删除。

7. 如何将本地数据添加到MySQL数据表中

强调:如果您的Mysql数据库的my.ini没有做以下的配置建议把配置写到my.ini中。如果您只是临时使用一下,请按照我的方法运行。不然MySQL不支持本地文件的加载。

例如我们把以下一个txt文本导入到mysql数据库中

1魏薇735954186女2018010

1朱瑞麒596034153女2018012

1黄慧婕738184238女2018027

1张章605548163男2018094

1沈政宇517127149男2018108

1宋承泽687453195男2018113

1马彦冰777252201女2018148

1马恺618372216男2018166

1王锦程809683259男2018167

1闫瑾746464202女2018196

1王晓渝45122885女2018198

1王浩然798669234女2018246

1徐菁549060204女2018256

创建MySQL对应的表格,我个人比较懒,因此我直接通过like命令复制了all_students的表结构来创建的stu_test表。

创建过后的结构是这样的。。其中没有任何的内容只有结构!!

导入数据到mysql中的stu_test表中。对于数据的导入可以直接通过图形化界面来做。也可以通过命令行来做。

这里为了省事,我直接在底层的mysql数据库通过load data infile的方法把数据追加到stu_test表格中了。

当然如果您想通过python中的语句来将数据导入mysql数据库中也是可以的。在此我奉上以下链接希望对大家有所帮助。

https://blog.csdn.net/xiaoxiao_plus/article/details/94456986

https://www.cnblogs.com/bjwu/p/10250759.html

python与excel互通_【python】python vs Excel ( 与mysql数据库之间的交互)相关推荐

  1. scrapy爬虫储存到mysql_详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    获取要爬取的URL 爬虫前期工作 用Pycharm打开项目开始写爬虫文件 字段文件items # Define here the models for your scraped items # # S ...

  2. 计算机毕业设计Python+django 宠物领养中心小程序(源码+系统+mysql数据库+Lw文档)

    项目介绍 据世界动物保护协会统计,全世界大概有5亿只流浪狗和散养的狗和大致同样数量的流浪猫,而这些主要源于主人的弃养.同时,在很多地区,狗和猫都处于散养状态,这部分的动物,也经常会变成流浪动物.猫和狗 ...

  3. 计算机毕业设计Python+django的零食销售商城网站(源码+系统+mysql数据库+Lw文档)

    项目介绍 ​随着人们生活条件的改善,人们对生活的追求也越来越高.在闲暇之时品尝上美味的零食,是当前很多人的一个休闲方式.当前临时市场鱼目混杂,种类繁多很多消费者不知道如何去选购更加美味可口的零食.尤其 ...

  4. 让两个 mysql 自动同步_实现两个Mysql数据库之间同步的方案

    实现两个Mysql MySQL 为了实现replication 必须打开bin-log 项,也是打开二进制的MySQL 日志记录选项.MySQL 的bin log 二 进制日志,可以记录所有影响到数据 ...

  5. 使用python套用excel模板_集成python的excel插件模板pyaddin——使用说明

    虽然VBA是Excel的官配二次开发语言,但鉴于python的简洁易用高可维护性,相信不少人更倾向于使用python来处理Excel相关的二次开发工作.目前已有一些优秀的python第三方库,例如xl ...

  6. python中csv库_关于python 自带csv库的使用心得 附带操作实例以及excel下乱码的解决...

    因为上次帮我们产品处理过一个文件,他想生成能excel处理操作的.但是上次由于时间非常紧张,所以并没有处理好. 正好无聊就来好好研究一下 ,找算法要了几个 csv文件.来好好玩一玩. 全篇使用了pyt ...

  7. python读取第二行_使用Python操作Excel(二):读取数据表

    上一节我们提到,使用openpyxl可以方便的对数据表进行操作,例如:抽象Excel数据并存入数据库 将数据库数据导出到Excel 给一个已存在的数据表追加信息 我们还介绍了一些Excel的基本术语, ...

  8. python 读plt文件_用python读Excel文件

    在IC设计.验证.后端中经常会用Excel来做配置文件.寄存器表.定义后端SDC参数等,不管Excel好不好用,但学习成本低啊. Excel文件的结构 Excel文件主要由工作簿(book).工作表( ...

  9. python按某列拆分excel表格_把一张Excel表按照固定列分成不同工作薄的小白方法...

    这是结合百度经验和论坛上的资料整理的方法,分两步,第一步是把一个完整的工作表按照某一列分解为不同的工作表.第二步是把这些工作表在分别拆为工作薄. 个人觉得这是一个相对比较简单的方法,也尝试用Pytho ...

最新文章

  1. 二值网络--XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
  2. 区块链开发之搭建以太坊私有链
  3. 尼康d7200拍照_尼康D7500适合入门吗
  4. redis部署与卸载
  5. CAS单点登录 - 创建用户会话、全局门票、临时票据
  6. iphone4 base64 mp3 无法解析 html5,javascript - 如何使用HTML5在firefox上播放base64音频数据? - 堆栈内存溢出...
  7. 52单片机iic读写c语言,如何52单片机的I2C读写24C08程序问题排查修改
  8. 如何连动作导入3dmax_教你如何将犀牛(Rhino)模型导入3dmax并进行渲染
  9. jQuery版Ajax的使用
  10. Linux常用的配置文件
  11. 数据结构——红黑树(red-black tree)
  12. mount远程驱动器
  13. ffmpeg ts与mp4互相转换
  14. 日期格式化、时间差转换
  15. ubuntu16.04+Titan Xp的驱动官网上找不到
  16. Geomesa-HBase索引篇——Z3索引
  17. CodeLite13避免中文乱码的方法
  18. 无人货架上演生死时速,谁会成为最后的赢家?
  19. PDF怎样转换成JPG图片 PDF转换为JPG图片教程
  20. 0202了,你会用手机操控电脑吗?

热门文章

  1. CSS Hack(Safari、Opera、Chrome、IE6、IE7、 IE8和IE9)
  2. mysql 半径,MySQL基于距离半径的搜索和区域搜索POI实践
  3. python为mysql设置id自增长_postgresql如何设置id自增长
  4. java第九章实验报告_2019JAVA第九次实验报告
  5. onethink swfupload upload.php,OneThink--ThinkPHP3.2 缓存文件泄露
  6. linux 非法信息,用Netstat来监控Linux里非法服务
  7. java锁方法和锁代码块_java的同步方法和同步代码块,对象锁,类锁区别
  8. linux jdk1.7 tomcat mysql_RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程
  9. 【计算机组成原理】浮点数运算及其流水线
  10. mysql 搜索正则表达式_[MySQL] 用正则表达式进行搜索