iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Python写入MySQL数据库的三种方式详解
  • 894
分享到

Python写入MySQL数据库的三种方式详解

摘要

目录场景一:数据不需要频繁的写入Mysql场景二:数据是增量的,需要自动化并频繁写入mysql方式一方式二总结大家好,python 读取数据自动写入 Mysql 数据库,这个需求在工作中是非常普遍的,主要涉及到 Pyth

大家好,python 读取数据自动写入 Mysql 数据库,这个需求在工作中是非常普遍的,主要涉及到 Python 操作数据库,读写更新等,数据库可能是 mongoDB、 es,他们的处理思路都是相似的,只需要将操作数据库的语法更换即可。

本篇文章会给大家分享数据如何写入到 mysql,分为两个场景,三种方式。

场景一:数据不需要频繁的写入mysql

使用 navicat 工具的导入向导功能。支持多种文件格式,可以根据文件的字段自动建表,也可以在已有表中插入数据,非常快捷方便。

Python写入MySQL数据库的三种方式详解

Python写入MySQL数据库的三种方式详解

场景二:数据是增量的,需要自动化并频繁写入mysql

测试数据:csv 格式 ,大约 1200万行

import pandas as pd
data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.shape

打印结果

Python写入MySQL数据库的三种方式详解

方式一

python + pymysql 库

安装 pymysql 命令

pip install pymysql

代码实现:

import pymysql

# 数据库连接信息
conn = pymysql.connect(
       host='127.0.0.1',
       user='root',
       passwd='wangyuqing',
       db='test01', 
       port = 3306,
       charset="utf8")

# 分块处理
big_size = 100000
# 分块遍历写入到 mysql    
with pd.read_csv('./tianchi_mobile_recommend_train_user.csv',chunksize=big_size) as reader:

    for df in reader:

        datas = []
        print('处理:',len(df))
#         print(df)
        for i ,j in df.iterrows():
            data = (j['user_id'],j['item_id'],j['behavior_type'],
                    j['item_cateGory'],j['time'])
            datas.append(data)
        _values = ",".join(['%s', ] * 5)
        sql = """insert into users(user_id,item_id,behavior_type
        ,item_category,time) values(%s)""" % _values
        cursor = conn.cursor()
        cursor.executemany(sql,datas)
        conn.commit()
 # 关闭服务      
conn.close()
cursor.close()
print('存入成功!')

Python写入MySQL数据库的三种方式详解

方式二

pandas + sqlalchemy:pandas需要引入sqlalchemy来支持sql,在sqlalchemy的支持下,它可以实现所有常见数据库类型的查询、更新等操作。

代码实现:

from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:wangyuqing@localhost:3306/test01')
data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.to_sql('user02',engine,chunksize=100000,index=None)
print('存入成功!')

Python写入MySQL数据库的三种方式详解

总结

pymysql 方法用时12分47秒,耗时还是比较长的,代码量大,而 pandas 仅需五行代码就实现了这个需求,只用了4分钟左右。

最后补充下,方式一需要提前建表,方式二则不需要。

所以推荐大家使用第二种方式,既方便又效率高。如果还觉得速度慢的小伙伴,可以考虑加入多进程、多线程

最全的三种将数据存入到 MySQL 数据库方法:

  • 直接存,利用 navicat 的导入向导功能
  • Python pymysql
  • Pandas sqlalchemy

到此这篇关于Python写入MySQL数据库的三种方式详解的文章就介绍到这了,更多相关Python写入MySQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Python写入MySQL数据库的三种方式详解

本文链接: https://www.lsjlt.com/news/33068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解mysql数据去重的三种方式
    目录一、背景二、数据去重三种方法使用1.​通过MySQL DISTINCT:去重(过滤重复数据)2.group by3.row_number窗口函数三、总结一、背景 最近在和系统模块...
    99+
    2024-04-02
  • 一文详解PHP连接MySQL数据库的三种方式
    目录1.MySQL扩展2.mysqli扩展3.PDO扩展知识点补充PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对...
    99+
    2024-04-02
  • MySQL数据库备份的三种方式
    为什么要数据库备份? a 保证重要的数据不丢失 b 数据转移   MYSQL数据库备份的方式1、直接拷贝物理文件(D:\Software\mysql-8.0.28-winx64\data中拷贝)2、在sqlyog这种可视化工具中手动导出(点...
    99+
    2023-09-04
    数据库 mysql
  • Python写入MySQL数据库的方式有哪些
    这篇文章主要介绍了Python写入MySQL数据库的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python写入MySQL数据库的方式有哪些文章都会有所收获,下面我们一起来看看吧。场景一:数据不需要...
    99+
    2023-07-02
  • 详解MySQL批量入库的几种方式
    目录1. MySQL批量入库概述2. Hutool封装jdbc方式测试环境准备3. Jdbc直接或批量执行方式4. MyBatis批量入库方式5. MySQL批量入库总结1. MyS...
    99+
    2023-02-03
    MySQL批量入库
  • MySQL数据库——MySQL数据表添加字段(三种方式)
    MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。 MySQL 允许在开头、中间和结尾处添加字段。 在末尾添加字段 一个完整的...
    99+
    2023-09-03
    数据库 mysql sql
  • mysql备份的三种方式详解
    一、备份的目的 做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二、备份需要考虑的问题 可以容忍丢失多长时间的数据;恢复...
    99+
    2022-11-15
    mysql备份
  • mysql-数据库-在表中添加数据三种方式
    创建数据库和表 mysql> create database mydb4;Query OK, 1 row affected (0.01 sec)mysql> use mydb4;Database changedmysql> create ...
    99+
    2023-10-07
    数据库 mysql
  • MySQL删除数据的三种方式
    MySQL删除数据有以下三种方式:1. 使用DELETE语句:使用DELETE语句可以删除表中的一条或多条数据。语法如下:D...
    99+
    2023-09-22
    MySQL
  • Spring Bean三种注入方式详解
    在Spring容器中为一个bean配置依赖注入有三种方式:  使用属性的setter方法注入  这是最常用的方式;  使用构造器注入;  使用Filed注入(用于注解方式).Field注入是最常...
    99+
    2023-05-30
    spring bean 注入
  • Pandas保存csv数据的三种方式详解
    目录方法一方法二方法三补充方法一 import os import pandas as pd path = 'data/train/' img_label_list=[] test...
    99+
    2024-04-02
  • 数据库批量插入数据的三种方法
    一、准备工作 测试环境:SpringBoot项目+MybatisPlus框架+MySQL数据库+Lombok 二、导入依赖 org.springframework.boot spring-...
    99+
    2023-08-20
    mysql mybatis spring boot
  • 详解Python进行数据相关性分析的三种方式
    目录相关性实现NumPy 相关性计算SciPy 相关性计算Pandas 相关性计算线性相关实现线性回归:SciPy 实现等级相关排名:SciPy 实现等级相关性:NumPy 和 Sc...
    99+
    2024-04-02
  • Mybatis三种批量插入数据的方式
    目录1. 循环插入 2. foreach标签 3. 批处理 三种方式的对比 1. 循环插入 mapper.xml: <?xml version="1.0" enc...
    99+
    2024-04-02
  • Java spring的三种注入方式详解流程
    目录设置Spring的作用域自动注入@PrimaryQualifier@ComponentScan不同的配置对性能的影响懒加载三种注入方式字段注入(IDEA 会提示不推荐)字段注入的...
    99+
    2024-04-02
  • MySQL插入数据的多种方式
    插入数据的多种方式 replace关键字插入数据 语法: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [PARTITION (part...
    99+
    2023-10-25
    mysql 数据库 sql
  • mysql、sqlserver和oracle三种数据库的大对象存取方式
    本篇内容主要讲解“mysql、sqlserver和oracle三种数据库的大对象存取方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql、sqlserv...
    99+
    2024-04-02
  • Mysql数据库的导入导出方式(各种情况)
    目录情况一本地导出,远程导入(windows导到linux)情况二linux导到linux情况三linux系统中的数据库导出,导入到本地windows系统总结情况一 本地导出,远程导...
    99+
    2023-03-08
    Mysql数据库 Mysql数据库导入 Mysql数据库导出
  • 三种查看MySQL数据库版本的方法
    三种查看MySQL数据库版本的方法1、使用-V参数首先我们想到的肯定就是查看版本号的参数命令,参数为-V(大写字母)或者--version 使用方法:D:xamppmysqlbin>mysql -V或者D:...
    99+
    2024-04-02
  • Spring成员对象注入的三种方式详解
    目录一、@Autowired注解@Qualifier@Primary二、@Resource注解三、@Inject和@Named注解总结当一个类运行需要调用一个成员对象,成员对象也是被...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作