当前位置: 首页 > news >正文

mysql-大批量插入数据的三种方式和使用场景

1.批量插入三种方式

  1. INSERT INTO … SELECT
  2. INSERT INTO … VALUES (…)
  3. LOAD DATA INFILE ‘/path/to/datafile.csv’ INTO TABLE table_name

2.批量插入

2.1 INSERT INTO … SELECT

用途:从另一个表中选择数据并插入到目标表中。
语法示例:

INSERT INTO target_table (column1, column2)
SELECT column1, column2 FROM source_table WHERE condition;

性能特点:

  1. 非常适合批量数据复制或迁移任务。
  2. 可以一次性处理大量数据,减少了客户端与服务器之间的通信次数。
  3. 在某些情况下,MySQL可以在服务器内部优化整个操作,避免不必要的数据传输。
  4. 如果SELECT查询本身很复杂(如涉及多个JOIN、子查询等),则可能会影响整体性能。

2.2 INSERT INTO … VALUES (…)

用途:直接插入明确指定的数据值。
语法示例:

INSERT INTO table_name (column1, column/XMLSchema)
VALUES (value1, value2);

性能特点:

  1. 对于少量数据插入非常高效。
  2. 因为值是预先知道的,所以数据库可以优化这个操作。
  3. 当需要插入大量独立的行时,可能需要多次调用该语句,这会导致较高的网络延迟和事务开销。

2.3 LOAD DATA INFILE [path] INTO TABLE table_name

用途:如果数据已经在服务器上作为一个文件存在,或者可以通过网络传输到服务器上,那么使用LOAD DATA INFILE通常是最快的方法之一。
语法示例:

LOAD DATA INFILE '/path/to/datafile.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n';

优点:
相比其他方法,LOAD DATA INFILE通常要快得多,因为它直接读取文件内容并加载到表中,绕过了标准的SQL解析器。
支持多种格式化选项来匹配输入文件结构。
缺点:
需要确保文件位于服务器本地或通过安全的方式传输至服务器。
可能需要调整MySQL的安全设置以允许LOAD DATA LOCAL INFILE。

3. LOAD DATA INFILE基本语法解释

基本语法解释

LOAD DATA INFILE '/path/to/datafile.csv': 指定要导入的数据文件的位置。请注意,这里的路径是相对于服务器端的文件系统路径。
INTO TABLE table_name: 指定要将数据导入的目标表。
FIELDS TERMINATED BY ',': 定义字段之间的分隔符。在这个例子中,字段是以逗号 , 分隔的。
LINES TERMINATED BY '\n': 定义行之间的终止符。这里每一行以换行符 \n 结束。

进一步的配置选项
根据你的具体需求,可能还需要对命令进行一些额外的配置:
忽略某些行:
IGNORE 1 LINES; 是 LOAD DATA INFILE 命令中的一个选项,用于指示 MySQL 在导入数据时跳过文件的前几行
如果 CSV 文件包含标题行,可以使用 IGNORE number LINES 来跳过这些行。

LOAD DATA INFILE '/path/to/datafile.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

指定列映射:
如果 CSV 文件中的列顺序与目标表不匹配,或者你想只导入部分列,可以指定列名(column1, column2, column3);:

LOAD DATA INFILE '/path/to/datafile.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'
(column1, column2, column3);

处理字符编码:CHARACTER SET utf8mb4
如果你的文件不是 UTF-8 编码,可以指定字符集:

LOAD DATA INFILE '/path/to/datafile.csv'
INTO TABLE table_name
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n';

相关文章:

mysql-大批量插入数据的三种方式和使用场景

1.批量插入三种方式 INSERT INTO … SELECTINSERT INTO … VALUES (…)LOAD DATA INFILE ‘/path/to/datafile.csv’ INTO TABLE table_name 2.批量插入 2.1 INSERT INTO … SELECT 用途:从另一个表中选择数据并插入到目标表中。 语法示例: INSERT …...

创建自己的github.io

1、创建GitHub账号 GitHub地址:https://github.com/ 点击Sign up创建账号 如果已创建,点击Sign in登录 2、创建仓库 假设Owner为username,则Repository name为username.github.io说明: 1、Owner为用户名 2、Repository name为仓…...

Oracle 常用语法汇总

系列文章目录 本文对Oracle 常用的语法进行汇总 文章目录 系列文章目录一、Oracle 表&表字段操作:1.1 DDL语句(数据定义语言)Create、Alter、Drop、Truncate:1.1.1 建表:建表:注释COMMENT :表中字段的约束:表中字…...

java小白日记38(集合-List)

List接口基本介绍 List接口是collection接口的子接口 (1)List集合类中元素有序(即添加顺序和取出顺序一致)、且可以重复 (2)List集合中的每个元素都有其对应的顺序索引,即支持索引 &#xf…...

高能ISP模块功能说明

先看一些常见缩写: BPS:Bayer processing segment CPP:Camera post processor DE:Detailed enhancement EIS:Electronic image stabilization IFE:Image front-end engine IPE:Image-proc…...

单臂路由实验

单臂路由实验 文章目录 单臂路由实验单臂路由简介工作原理优点与缺点应用场景 实验拓扑实验需求:实验步骤:1.PC 配置 IP 地址2.PC3 属于 Vlan10,PC4 属于 Vlan20,配置单臂路由实现 Vlan10 和 Vlan20 三层互通2.1.在 SW2 上创建 Vl…...

SpringMVC全局异常处理机制

异常处理机制 异常处理的两种方式: 编程式异常处理:是指在代码中显式地编写处理异常的逻辑。它通常涉及到对异常类型的检测及其处理,例如使用 try-catch 块来捕获异常,然后在 catch 块中编写特定的处理代码,或者在 f…...

UDS诊断、ECU刷写、自动化测试、车联网测试、DTC故障注入测试、坏境测试、可靠性测试、压力测试、性能测试等

每日直播时间:(直播方式:腾讯会议) 周一到周五:20:00-23:00 周六与周日:9:00-17:00 向进腾讯会议学习的,可以关注我并后台留言 直播内容&#xff…...

C++的常用容器嵌套

在 C 中&#xff0c;数据结构之间的嵌套是非常常见的&#xff0c;尤其是在处理复杂数据时。以下是几种最常用的数据结构嵌套方式及其典型应用场景的总结&#xff1a; 1. std::vector 嵌套 std::vector 定义&#xff1a;std::vector<std::vector<T>>。用途&#xf…...

Mac - Cursor 配置 + GPT 4.0/4.5/o1/o3/Deepseek Api 使用

前言 新换了电脑&#xff0c;所以需要新配置一些环境。已经安装好了Goland&#xff0c;但近期可能有GoJava前端的需求&#xff0c;所以使用Cursor。 除去学校各种奇奇怪怪&#xff0c;这已经是一年多来配置的第4台Windows和第四台Mac的Golang环境了。。。且是自己工作外买的第…...

【数据挖掘】Python基础环境安装配置

【数据挖掘】Python基础环境安装配置 一、摘要二、安装Python3.13.2三、安装Jupyter Notebook四、安装Numpy和Pandas以及matplotlib五、安装scikit-learn库和seaborn库 一、摘要 本文主要介绍如何在Windows上安装Python3.13.2&#xff0c;然后基于该Python版本安装Jupyter not…...

详解string类+迭代器

迭代器 概念&#xff1a;在 C 中&#xff0c;迭代器是访问容器&#xff08;如数组、列表、向量、字符串等&#xff09;元素的一种方式。迭代器提供了一种统一的接口&#xff0c;使得你可以使用相同的代码来遍历不同类型的容器。迭代器本质上是一个指针或者指针的封装&#xff0…...

OpenCV DNN 模块使用指南

OpenCV DNN 模块使用指南 一、模块概述 OpenCV 的 DNN&#xff08;深度神经网络&#xff09;模块为开发者提供了强大的深度学习功能&#xff0c;能够加载并运行多种格式的预训练深度学习模型。此模块广泛应用于图像分类、目标检测、语义分割等众多计算机视觉任务。接下来&…...

温度(Temperature)在大模型输出中的作用与底层原理

温度&#xff08;Temperature&#xff09;在大模型输出中的作用与底层原理 在深度学习领域&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;中&#xff0c;大型语言模型&#xff08;LLM&#xff09;的输出生成通常依赖于概率分布的采样。温度&#xff08;temperatu…...

智能汽车图像及视频处理方案,支持视频智能拍摄能力

美摄科技&#xff0c;作为智能汽车图像及视频处理领域的先行者&#xff0c;凭借其卓越的技术实力和前瞻性的设计理念&#xff0c;为全球智能汽车制造商带来了一场视觉盛宴的革新。我们自豪地推出——美摄科技智能汽车图像及视频处理方案&#xff0c;一个集高效性、智能化、画质…...

一文讲清 C++ CRTP(Curiously Recurring Template Pattern,奇异递归模板模式)

CRTP是 C 中的一种模板元编程技术&#xff0c;其核心原理是通过模板继承和静态多态&#xff0c;在编译期实现基类对派生类成员的访问&#xff0c;从而避免运行时虚函数调用的开销。 1. CRTP 的基本结构 CRTP 的核心思想是&#xff1a;基类是一个模板类&#xff0c;其模板参数…...

如何用Function Calling解锁OpenAI的「真实世界」交互能力?(附Node.js 实战)

一、Function Calling&#xff1a;大模型的「手脚延伸器」 1.1 核心定义 Function Calling是OpenAI在2023年6月13日推出的革命性功能&#xff08;对应模型版本gpt-3.5-turbo-0613和gpt-4-0613&#xff09;&#xff0c;允许开发者通过自然语言指令触发预定义函数&#xff0c;实…...

MySQL:float,decimal(1)

会四舍五入 无符号浮点数 更改321zyy1下的salary 为float类型 decimal:...

基于DrissionPage的DY无水印视频采集

基于DrissionPage的Dy无水印视频采集技术解析 目录 一、项目背景与痛点分析 1.1 典型应用场景1.2 传统方案痛点对比1.3 需求分析流程图二、系统架构设计 2.1 核心架构图2.2 执行流程图解三、开发环境配置 3.1 版本要求3.2 环境搭建指南四、实现流程详解 4.1 主要处理阶段4.2 关…...

yt-dlp工具下载视频使用方法

使用 yt-dlp 下载有土播视频时&#xff0c;可以很容易地同时下载字幕文件。 下面是详细操作说明&#xff1a; 一、下载视频并同时下载字幕&#xff1a; 基础命令&#xff1a; yt-dlp --write-subs 视频链接示例&#xff1a; yt-dlp --write-subs https://www.youdubo.com/wa…...

canvas数据标注功能简单实现:矩形、圆形

背景说明 基于UI同学的设计&#xff0c;在市面上找不到刚刚好的数据标注工具&#xff0c;遂决定自行开发。目前需求是实现图片的矩形、圆形标注&#xff0c;并获取标注的坐标信息&#xff0c;使用canvas可以比较方便的实现该功能。 主要功能 选中图形&#xff0c;进行拖动 使…...

Linux与HTTP报头属性和请求方式

HTTP报头属性、请求方式 本篇介绍 在上一节深入HTTP序列化和反序列化已经详细讲解了HTTP是如何进行序列化和反序列化的&#xff0c;但是上一节对请求报头和响应报头的具体内容并没有做出具体的说明&#xff0c;本节就会基于这个问题继续探讨HttpServer&#xff1b;另外在介绍…...

WordPress漏洞

一&#xff0c;后台修改模板拿WebShell 1&#xff0c;安装好靶场后访问 2&#xff0c;在如图所示的位置选择一个php文件写入一句话木马&#xff0c;我们这里选择在404.php中写入 3&#xff0c;访问404.php 二&#xff0c;上传主题拿WebShell 1&#xff0c;找到如图所示的页面…...

go命令使用

查看配置信息 go env配置go国内源 export GO111MODULEon export GOPROXYhttps://goproxy.cn测试 go install github.com/jesseduffield/lazydockerlatesthttps://github.com/jesseduffield/lazydocker...

uniapp vue3使用uniapp的生命周期

使用uniapp的onLoad等生命周期 // 需要引入 import { onLoad , onShow } from dcloudio/uni-app; // 箭头函数 onLoad(()>{//内容 })使用vue生命周期 vue官方文档&#xff1a;https://cn.vuejs.org/api/options-lifecycle.html import { ref,onMounted } from vue; onMou…...

nginx vue history模式 try_files

server {listen 80;server_name localhost chat.test.com;#配置根目录location / {root /temp/test;#index index.html index.htm;try_files $uri $uri/ /index.html;add_header Content-Security-Policy upgrade-insecure-requests;}} https://blog.csdn.net/xutongbao/…...

【css酷炫效果】纯CSS实现悬浮弹性按钮

【css酷炫效果】纯CSS实现悬浮弹性按钮 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492020 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&…...

MySQL自动化配置工具开发:探索如何用脚本实现MySQL一键安装与配置,提升运维效率

引言 MySQL作为最流行的开源关系型数据库之一,广泛应用于各类业务场景。然而,手动安装和配置MySQL不仅耗时,还容易出错。为了提高运维效率,开发一款MySQL自动化配置工具显得尤为重要。本文将探索如何通过脚本实现MySQL的一键安装与配置,并提供具体的配置脚本文档和关键参…...

如何查看安卓版本号的方法(例如查看是13、12、11、10...)

开发过程中需要了解到安卓版本号是多少&#xff0c;那么以下有三种方法可以知晓安卓手机的Android版本号。 方法1&#xff1a;手机设置直接查看 1.打开【设置】 --> 滑动到手机最底部 --> 点击【关于手机】或 【系统】--> 选择【Android版本】 2.直接查看版本号&am…...

ubuntu 解挂载时提示 “umount: /home/xx/Applications/yy: target is busy.”

问题如题所示&#xff0c;我挂载一个squanfs文件系统到指定目录&#xff0c;当我使用完后&#xff0c;准备解挂载时&#xff0c;提示umount: /home/xx/Applications/yy: target is busy.&#xff0c;具体的如图所示&#xff0c; 这种提示通常是表明这个路径的内容正在被某些进…...

Java XML与JSON相互转换详解

目录 一、为什么需要XML与JSON转换二、使用Jackson库进行转换1. 添加依赖2. XML转JSON3. JSON转XML三、注意事项在现代软件开发中,数据格式的转换是一项常见的任务,特别是在处理不同系统或服务之间的数据交换时。XML(可扩展标记语言)和JSON(JavaScript对象表示法)是两种广…...

[AI速读]用持续集成(CI)优化芯片验证环境:Jenkins与EDA工具的实战指南

在芯片验证中,回归测试(Regression Test)是确保设计稳定性的关键步骤。但随着设计复杂度增加,手动管理海量测试用例、分析日志和覆盖率数据变得异常耗时。本文将介绍如何利用持续集成(CI)工具Jenkins,结合EDA验证环境(如Cadence vManager),实现自动化测试与结果分析,…...

Java-SpringBootWeb入门、Spring官方脚手架连接不上解决方法

一. Spring 官网&#xff1a;Spring | Home Spring发展到今天已经形成了一种开发生态圈&#xff0c;Spring提供了若干个子项目&#xff0c;每个项目用于完成特定的功能(Spring全家桶) Spring Boot可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。 二. Spring Boot入…...

WEB攻防-PHP反序列化-字符串逃逸

目录 前置知识 字符串逃逸-减少 字符串逃逸-增多 前置知识 1.PHP 在反序列化时&#xff0c;语法是以 ; 作为字段的分隔&#xff0c;以 } 作为结尾&#xff0c;在结束符}之后的任何内容不会影响反序列化的后的结果 class people{ public $namelili; public $age20; } var_du…...

Android第五次面试总结(网络篇)

一、引言&#xff1a;为什么需要 DNS&#xff1f; 在浏览器输入www.example.com的瞬间&#xff0c;一场跨越全球的数字接力赛悄然启动。DNS&#xff08;域名系统&#xff09;如同互联网的 “电话号码簿”&#xff0c;将人类可读的域名转化为机器可识别的 IP 地址。本文将以工程…...

全网首创/纯Qt/C++实现国标GB28181服务/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲

一、前言说明 用纯Qt来实现这个GB28181的想法很久了&#xff0c;具体可以追溯到2014年&#xff0c;一晃十年都过去了&#xff0c;总算是整体的框架和逻辑都打通了&#xff0c;总归还是杂七杂八的事情多&#xff0c;无法静下心来研究具体的协议&#xff0c;最开始初步了解协议后…...

详解MySQL的事务实现机制

MySQL事务实现机制 1. 锁机制2. Redo Log&#xff08;重做日志&#xff09;3. Undo Log&#xff08;撤销日志&#xff09;4. MVCC&#xff08;多版本并发控制&#xff09;综合事务处理流程 在MySQL中&#xff08;主要以InnoDB为例&#xff09;&#xff0c;事务的实现依赖于多个…...

什么是 BA ?BA怎么样?BA和BI是什么关系?

前几天有朋友在评论区提到了BA这个角色&#xff0c;具体是干什么的&#xff0c;我大概来说一下。 什么是BA BA 英文的全称是Business Analyst&#xff0c;从字面上意思就是商业分析师&#xff0c;做过商业智能BI项目的应该比较了解。实际上以我个人的经验&#xff0c;BA 的角…...

Junit在测试过程中的使用方式,具体使用在项目测试中的重点说明

JUnit 是一个广泛使用的 Java 单元测试框架,主要用于编写和运行可重复的测试。以下是 JUnit 在项目测试中的使用方式和重点说明: 1. 基本使用 场景:测试一个简单的 Java 类。 示例: import org.junit.Test; import static org.junit.Assert.*;public class CalculatorTe…...

网络安全之前端学习(HTML篇)

前言&#xff1a;网络安全中有一个漏洞叫xss漏洞&#xff0c;就是利用网页引发弹窗&#xff0c;这就要求我们看得懂源码&#xff0c;所以我会持续更新前端学习&#xff0c;可以不精通&#xff0c;但是一定要会&#xff0c;主要掌握HTML&#xff0c;css&#xff0c;js这三项技术…...

Lineageos 22.1(Android 15)实现负一屏

一、前言 方案是参考的这位大佬的&#xff0c;大家可以去付费订阅支持一波。我大概理一下Android15的修改。 大佬的方案代码 二、Android15适配调整 1.bp调整&#xff0c;加入aidl引入&#xff0c;这样make之后就可以索引代码了 filegroup {name: "launcher-src"…...

Redisson分布式锁(超时释放及锁续期)

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…...

SQL授予用户查询某个模式或者具体某个表

例如&#xff1a;需要给sjzt授权查询这个模式下的这个表的操作 数据库&#xff1a;DB_HZ_HYZHFZ 模式&#xff1a;hn_proxy 服务注册表&#xff1a;hn_proxy."serverrg" 账号:sjzt -- 登录到目标数据库 DB_HZ_HYZHFZ -- 授予权限给账号 sjzt 在模式 hn_proxy 中访问…...

Burp Suite 代理配置与网络通信

目录 1. 引言 2. Burp 代理基础配置 2.1 浏览器代理设置 2.2 Burp 监听端口配置 2.3 常见错误排查 3. 网络问题解决 3.1 端口占用检查 3.2 防火墙配置 3.3 证书信任问题 4. 虚拟机环境配置 4.1 NAT 模式与端口转发 4.2 桥接模式配置 4.3 跨设备访问测试 5. 技术概…...

PyCharm安装redis,python安装redis,PyCharm使用失败问题

报错信息 Usage: D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip install [options] [package-index-options] … D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip install [options] -r [package-index-options] … D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip instal…...

使用命令行工具控制wireshark对抓包文件进行针对性处理的总结

近日&#xff0c;工作中有开发对抓包文件进行针对性过滤的小程序的需求&#xff0c;兜兜转转踩了很多坑后还是绕回了wireshark。 作为最出名的开源软件之一&#xff0c;wireshark也具有使用命令行进行操作的功能&#xff0c;这就是我们今天会总结到的“tshark.exe”。 通常&a…...

【STM32实物】基于STM32的太阳能充电宝设计

基于STM32的太阳能充电宝设计 演示视频: 基于STM32的太阳能充电宝设计 硬件组成: 系统硬件包括主控 STM32F103C8T6、0.96 OLED 显示屏、蜂鸣器、电源自锁开关、温度传感器 DS18B20、继电器、5 V DC 升压模块 、TB4056、18650锂电池、9 V太阳能板、稳压降压 5 V三极管。 功能…...

NLP 与常见的nlp应用

自然语言处理&#xff08;NLP&#xff09;是一个广泛的领域&#xff0c;它不仅包括自然语言理解&#xff08;NLU&#xff09;&#xff0c;还涉及一系列其他任务和子领域。以下是NLP领域中的主要组成部分及其相关任务&#xff1a; 1. 自然语言理解&#xff08;NLU&#xff09; …...

基于javaweb的SSM+Maven宠物领养宠物商城流浪动物管理系统与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

Java数据类型 Arrays VS ArraysList VS LikedList 解析

在学习Java过程中&#xff0c;在刷题时总是搞不清楚这三种数据结构的区别&#xff0c;打算写篇文章记录一下 Arrays VS ArrayList ArrayList VS LinkedList 总结 Arrays VS ArrayList ArraysArrayList类型Java的基本数据类型Java集合框架中的一个类&#xff0c;实现了List接…...