返回顶部
首页 > 资讯 > 数据库 >怎么用Python读取千万级数据自动写入MySQL数据库
  • 419
分享到

怎么用Python读取千万级数据自动写入MySQL数据库

2023-07-02 13:07:48 419人浏览 八月长安
摘要

这篇文章主要介绍“怎么用python读取千万级数据自动写入MySQL数据库”,在日常操作中,相信很多人在怎么用Python读取千万级数据自动写入Mysql数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎

这篇文章主要介绍“怎么用python读取千万级数据自动写入MySQL数据库”,在日常操作中,相信很多人在怎么用Python读取千万级数据自动写入Mysql数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python读取千万级数据自动写入mysql数据库”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

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

怎么用Python读取千万级数据自动写入MySQL数据库

怎么用Python读取千万级数据自动写入MySQL数据库

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

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

import pandas as pddata = 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# 分块遍历写入到 mysqlwith 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_engineengine = 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('存入成功!')

总结

pymysql 方法用时12分47秒,耗时还是比较长的,代码量大,而 pandas 仅需五行代码就实现了这个需求,只用了4分钟左右。最后补充下,方式一需要提前建表,方式二则不需要。所以推荐大家使用第二种方式,既方便又效率高。如果还觉得速度慢的小伙伴,可以考虑加入多进程、多线程

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

  • 直接存,利用 navicat 的导入向导功能

  • Python pymysql

  • Pandas sqlalchemy

到此,关于“怎么用Python读取千万级数据自动写入MySQL数据库”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么用Python读取千万级数据自动写入MySQL数据库

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

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

猜你喜欢
  • Python读取千万级数据自动写入MySQL数据库
    目录前言场景一:数据不需要频繁的写入mysql场景二:数据是增量的,需要自动化并频繁写入mysql总结前言 Python 读取数据自动写入 MySQL 数据库,这个需求在工作中是非常...
    99+
    2024-04-02
  • 怎么用Python读取千万级数据自动写入MySQL数据库
    这篇文章主要介绍“怎么用Python读取千万级数据自动写入MySQL数据库”,在日常操作中,相信很多人在怎么用Python读取千万级数据自动写入MySQL数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎...
    99+
    2023-07-02
  • MySQL循环插入千万级数据
    1、创建测试表 CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid` varchar(50) DE...
    99+
    2022-05-27
    MySQL 循环插入 MySQL 循环插入千万级数据
  • mysql数据库实现插入千万级数据的方法
    mysql如何实现循环插入千万级数据?1.建表:CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid...
    99+
    2024-04-02
  • 怎么在MySql中插入千万级大数据
    今天就跟大家聊聊有关怎么在MySql中插入千万级大数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步,读取文件,开始插入多线程在这里,达到一定...
    99+
    2024-04-02
  • 千万级数据的mysql数据库与优化方法
    本篇内容主要讲解“千万级数据的mysql数据库与优化方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“千万级数据的mysql数据库与优化方法”吧!1.对查询进行...
    99+
    2024-04-02
  • .Net Core导入千万级数据至Mysql数据库的实现方法
    目录前期准备订单测试表测试环境实现方法:1、单条数据插入2、合并数据插入3、MySqlBulkLoader插入性能测试对比最后​最近在工作中,涉及到一个数据迁移功能,从一...
    99+
    2024-04-02
  • MySQL中怎么优化千万级数据表
    MySQL中怎么优化千万级数据表,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我这里有张表,数据有1000w,目前只有一个主键索引CREATE TAB...
    99+
    2023-06-20
  • 详解MySQL数据库千万级数据查询和存储
    目录百万级数据处理方案数据存储结构设计查询语句优化千万级数据处理方案数据存储结构设计数据库表主键设计MySQL面试题MySQL数据库千万级数据查询优化方案你用过MySQL那些存储引擎他们都有什么特点和区别?那他们都有...
    99+
    2022-05-14
    mysql 数据 mysql 存储 千万级 优化
  • oracle千万级数据怎么查询
    查询千万级数据可以采用以下方法:1. 使用索引:对于经常需要查询的字段,可以创建索引来加快查询速度。索引可以提高查询性能,但会增加写...
    99+
    2023-09-13
    oracle
  • springbatch怎么处理千万级数据
    处理千万级数据的方法可以通过以下步骤实现:1. 分批读取数据:使用Spring Batch的chunk机制,将数据分批读取到内存中。...
    99+
    2023-08-18
    springbatch
  • java怎么处理千万级数据
    处理千万级数据可以使用以下方法:1. 使用合适的数据结构:选择合适的数据结构来存储和处理数据,例如使用ArrayList、Linke...
    99+
    2024-02-29
    java
  • sqlserver千万级数据怎么查询
    在处理千万级数据时,查询性能是非常重要的。以下是一些提高SQL Server查询性能的方法: 创建索引:为经常使用的列创建索引,...
    99+
    2024-05-14
    sqlserver
  • .Net Core导入千万级数据至Mysql的步骤
    目录前期准备实现方法:1、单条数据插入2、合并数据插入3、MySqlBulkLoader插入性能测试对比最后前期准备 订单测试表 CREATE TABLE `trade` (   `id` V...
    99+
    2022-05-25
    MySQL 导入数据 .Net Core导入数据MySQL MySQL 千万级数据
  • MySQL数据库千万级数据查询和存储的示例分析
    这篇文章主要介绍MySQL数据库千万级数据查询和存储的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!百万级数据处理方案数据存储结构设计表字段设计表字段 not null,因为 null 值很难查询优化且占用额...
    99+
    2023-06-15
  • spark怎么读取mysql数据库数据
    在Spark中读取MySQL数据库数据,可以使用Spark的DataFrame API和JDBC连接器来实现。以下是一种常见的方法:...
    99+
    2024-04-09
    spark mysql
  • python怎么读取oracle数据库数据
    要从Oracle数据库中读取数据,可以使用Python中的cx_Oracle模块。 首先,确保已经安装了cx_Oracle模块。可以...
    99+
    2024-04-09
    python oracle
  • Python读取Hive数据库代码怎么写
    今天小编给大家分享一下Python读取Hive数据库代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实际业务读取hi...
    99+
    2023-07-05
  • mysql怎么批量更新千万数据
    批量更新千万条数据可以使用MySQL的UPDATE语句结合WHERE子句来实现。下面是一个示例: UPDATE 表名 SET...
    99+
    2023-10-24
    mysql
  • 怎么使用Golang并发读取文件数据并写入数据库
    本篇内容介绍了“怎么使用Golang并发读取文件数据并写入数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!项目结构data文件夹中包含数...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作