MySql 快速插入千万级大数据的方法示例

yizhihongxing

MySQL 快速插入千万级大数据的方法有很多,以下是一些常用的方法:

1.使用LOAD DATA方式批量导入数据

LOAD DATA是MySQL提供的一个非常快速的方式,可以一次性导入成千上万条记录。语法如下:

LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE table_name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
(col1, col2, col3...);

其中,data.txt是你要导入的数据文件,第2行到第6行分别指定了文件的编码方式、字段分隔符、行分隔符和字段列表。需要注意的是,如果文件中的数据列数与FIELDS关键字后的字段数不一致,会导致导入失败。

使用这种方式时,需要在MySQL客户端中设置local-infile=1,才能从本地文件系统读取数据。

示例1:假设有一个包含100万条记录的CSV文件data.csv,文件格式如下:

id,name,age,gender
1,Tom,20,Male
2,Mary,25,Female
3,John,30,Male
......

我们可以执行以下SQL语句将这些数据批量导入到数据库中:

LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE users 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
(id, name, age, gender);

在这个例子中,我们将CSV文件中的字段分隔符、行分隔符和字段列表与表的信息一一对应,然后通过LOAD DATA语句将数据直接插入到MySQL表中。

2.使用INSERT INTO SELECT语句插入数据

另一种快速插入数据的方式是使用INSERT INTO SELECT语句,可以将数据从一个表中复制到另一个表中。语法如下:

INSERT INTO table1 (col1, col2, ...)
SELECT col1, col2, ...
FROM table2;

其中,table1为目标表,table2为源表,要插入的列在括号中列出。这种方式可以用来复制数据、双方表结构完全一致,如果要向目标表中插入新的数据列,需要先对目标表执行ALTER TABLE语句来添加新的列。

示例2:假设有一张名为users_copy的空表,我们需要将users表中的数据复制到这张表中:

CREATE TABLE users_copy LIKE users;
INSERT INTO users_copy
SELECT * FROM users;

在这个例子中,我们先使用CREATE TABLE语句复制了users表的表结构,然后使用INSERT INTO SELECT语句将数据批量插入到新表中。

以上是两个比较常用的MySQL快速插入千万级大数据的方法,根据实际情况选择适合自己的方式即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySql 快速插入千万级大数据的方法示例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • MySQL: LEAVE Statement

    https://www.techonthenet.com/mysql/loops/leave.php   This MySQL tutorial explains how to use the LEAVE statement in MySQL with syntax and examples. Description In MySQL, the LEAVE …

    MySQL 2023年4月13日
    00
  • 查看MySQL的系统帮助文档的3种方式

    在 MySQL 中,你可以使用以下几种方式查看系统帮助: 使用 HELP 命令 在 MySQL 的命令行界面中,你可以使用 HELP 命令来获取系统帮助。例如,输入以下命令: mysql> HELP; 这将显示 MySQL 帮助菜单的一部分,其中包括常用命令的简要说明。 如果你想查看某个命令的详细帮助信息,可以在 HELP 后面加上该命令的名称。例如,…

    MySQL 2023年3月9日
    00
  • MySQL定义异常和异常处理详解

    MySQL 定义异常和异常处理详解 MySQL 中的异常处理是程序技术人员在编程过程中经常需要掌握的一种技能。当程序出现异常时,可以捕捉到异常并进行相应的处理。本文将会详细讲解 MySQL 中的异常定义和异常处理的方法。 定义异常 在 MySQL 中,异常是一种异常情况,它可以在程序执行期间被抛出。当程序出现异常时,会导致程序终止或执行出错。为了更好地控制程…

    MySQL 2023年5月18日
    00
  • 数据库系列:覆盖索引和规避回表

    1 介绍 在MySQL数据库查询过程中,索引覆盖和避免不必要的回表,是减少检索步骤,提高执行效率的有效手段。下面从这两个角度分析如何进行MySQL检索提效。 2 数据准备 模拟一个500w数据容量的部门表 emp,表结构如下,并通过工具模拟500w的数据: CREATE TABLE `emp` ( `id` int unsigned NOT NULL AUT…

    2023年4月8日
    00
  • Mac和Windows系统下Mysql数据库的导入导出

      最近在构建数据库的过程中,需要将Mac os系统下的Mysql数据库导出成.sql文件,然后导入到windows系统下的Mysql中。经过学习总结出的步骤如下:   一、Mac os导出Mysql数据库   1.打开终端,   2.执行: cd 要导出到的目录  (如:cd /Users/Malcolm/Desktop)   3.执行:mysqldump…

    MySQL 2023年4月13日
    00
  • MySQL配置文件my.ini的使用解读

    让我来为您详细讲解MySQL配置文件my.ini的使用解读。 什么是my.ini文件 MySQL是一套开源免费的关系型数据库管理系统,是目前世界上最流行的数据库之一。而my.ini是MySQL数据库所使用的配置文件,MySQL在启动时会根据my.ini中的配置来进行相关的设置,方便了我们对MySQL服务器进行管理和调试。 my.ini常见配置 下面是my.i…

    MySQL 2023年5月19日
    00
  • MySQL MHA信息的收集【Filebeat+logstash+MySQL】

    一.项目背景 随着集团MHA集群的日渐增长,MHA管理平台话越来越迫切。而MHA平台的建设第一步就是将这些成百上千套的MHA集群信息收集起来,便于查询和管理。 MHA主要信息如下: (1)基础配置信息; (2)运行状态信息; (3)启动及FailOver的log信息。 集团目前数据库的管理平台是在Archery的基础上打造,所以,需要将此功能嵌入到既有平台上…

    MySQL 2023年4月17日
    00
  • 一次非法关机导致mysql数据表损坏的实例解决

    针对一次非法关机导致MySQL数据表损坏的情况,完整攻略如下: 问题描述 一次非法关机(如断电)会导致MySQL的数据表损坏,可能会出现以下情况:- 无法连接数据库- 出现“Table ‘xxx’ is marked as crashed and should be repaired”等错误提示 解决方法 方法一:修复表 如果只是单个表损坏,可以尝试修复表。…

    MySQL 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部