Bash中使用MySQL导入导出CSV格式数据

MySQL中导出CSV格式数据的SQL语句样本如下:

select * from test_info 
into outfile '/tmp/test.csv' 
fields terminated by ',' optionally enclosed by '"' escaped by '"' 
lines terminated by '\r\n'; 

MySQL中导入CSV格式数据的SQL语句样本如下:

load data infile '/tmp/test.csv' 
into table test_info  
fields terminated by ','  optionally enclosed by '"' escaped by '"' 
lines terminated by '\r\n'; 

里面最关键的部分就是格式参数

fields terminated by ',' optionally enclosed by '"' escaped by '"' 
lines terminated by '\r\n' 

这个参数是根据RFC4180文档设置的,该文档全称Common Format and MIME Type for Comma-Separated Values (CSV) Files,其中详细描述了CSV格式,其要点包括:

(1)字段之间以逗号分隔,数据行之间以\r\n分隔;

(2)字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。

 

文件:test_csv.sql

use test;

create table test_info (
	id 	integer	not null,
	content varchar(64) not null,
	primary key (id)
);

delete from test_info;

insert into test_info values (2010, 'hello, line
suped
seped
"
end'
);

select * from test_info;

select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';

delete from test_info;

load data infile '/tmp/test.csv' into table test_info  fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';

select * from test_info;

 

 

文件:test.csv

2010,"hello, line
suped
seped
""
end"

 

在Linux下如果经常要进行这样的导入导出操作,当然最好与Shell脚本结合起来,为了避免每次都要写格式参数,可以把这个串保存在变量中,如下所示:(文件mysql.sh)

#!/bin/sh


# Copyright (c) 2010 codingstandards. All rights reserved.
# file: mysql.sh
# description: Bash中操作MySQL数据库
# license: LGPL
# author: codingstandards
# email: codingstandards@gmail.com
# version: 1.0
# date: 2010.02.28


# MySQL中导入导出数据时,使用CSV格式时的命令行参数
# 在导出数据时使用:select ... from ... [where ...] into outfile '/tmp/data.csv' $MYSQL_CSV_FORMAT;
# 在导入数据时使用:load data infile '/tmp/data.csv' into table ... $MYSQL_CSV_FORMAT;
# CSV标准文档:RFC 4180
MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'"


 

使用示例如下:(文件test_mysql_csv.sh)

#!/bin/sh

. /opt/shtools/commons/mysql.sh

# MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'"
echo "MYSQL_CSV_FORMAT=$MYSQL_CSV_FORMAT"

rm /tmp/test.csv

mysql -p --default-character-set=gbk -t --verbose test <<EOF

use test;

create table if not exists test_info (
	id 	integer	not null,
	content varchar(64) not null,
	primary key (id)
);

delete from test_info;

insert into test_info values (2010, 'hello, line
suped
seped
"
end'
);

select * from test_info;

-- select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
select * from test_info into outfile '/tmp/test.csv' $MYSQL_CSV_FORMAT;

delete from test_info;

-- load data infile '/tmp/test.csv' into table test_info fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
load data infile '/tmp/test.csv' into table test_info $MYSQL_CSV_FORMAT;

select * from test_info;


EOF

echo "===== content in /tmp/test.csv ====="
cat /tmp/test.csv

 

 

PHP 导入导出excel、csv百万数据到数据库 PHP 导入导出excel、csv百万数据到数据库 待解决: wamp下导入导出百万数据没有问题 lamp下导入10W条数据没问题,导入50W及以上会出现nginx504报错 代码包地址 测试数据表地址 表中有大概110W+条数据,下载时可能会慢一些 下载完成后,导入到数据库中,然后用Navicat修改表为MYISAM类型,把触发器删除掉即可 环境 WAMP和LAMP PHP版本: 7.3 目... 阅读详情

相关推荐

Shell脚本批量添加CSV数据到MySQL

使用一般的mysql命令或者是sql脚本都可以插入数据到mysql数据表中,我这里介绍如何是Shell批量的从CSV文件中添加数据到mysql数据库中,方便数据迁徙,测试数据的添加之类的工作。

bash mysql 导出csv_Bash中使用MySQL导入导出CSV格式数据

MySQL中导出CSV格式数据的SQL语句样本如下:Java代码 select*fromtest_infointooutfile'/tmp/test.csv'fieldsterminatedby','optionallyenclosedby'"'escapedby'"'linesterminatedby'\r\n';select * from test_info into ...

weixin_29442195的博客 239

告别降级CUDA!手把手教你为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly + vLLM推理环境

本文详细指导如何为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly和vLLM推理环境,特别针对CUDA 12.8的适配问题提供解决方案。从硬件准备到源码编译,再到模型部署与性能调优,手把手教你构建高效AI推理系统。

weixin_33724046的博客 408

利用Shell将MySQL数据表导出为csv文件

利用Shell将MySQL数据表导出为csv文件

山阴少年 8121

别再问ARM麒麟怎么装微信了!手把手教你用铠大师搞定Windows软件(飞腾/海思芯片实测)

本文详细介绍了如何在ARM架构的信创电脑(如飞腾/海思芯片)上使用铠大师安装和运行Windows软件,解决微信、Office等常用软件的兼容性问题。通过实测数据对比,铠大师在性能和易用性上显著优于传统方案,为麒麟系统用户提供了一套完整的解决方案。

weixin_28736355的博客 892

自动驾驶开发者必看:nuscenes数据集23类物体标注全解析(附避坑指南)

本文深入解析nuscenes数据集的23类物体标注系统,为自动驾驶开发者提供全面的标注规范解读和实战避坑指南。涵盖多模态数据组织、类别细分规则、属性系统应用技巧以及标注质量验证方法,帮助开发者高效利用这一标杆数据集提升模型性能。

weixin_29041767的博客 255

如何使用 Bash 读取和处理 CSV 文件

如何使用 Bash 读取和处理 CSV 文件

Thinking In Java 1万+

CKA考试实战指南--从备考到通关的完整攻略

本文提供了一份全面的CKA考试实战指南,涵盖从备考规划、资源选择到高效练习环境搭建的全过程。重点解析了考试核心内容,特别是占分30%的故障排除难点,并分享了集群升级、etcd备份等高频考点的突破技巧与临场实战策略,帮助考生系统掌握Kubernetes实操技能,顺利通过认证。

weixin_28839549的博客 490

Bash中使用MySQL导入导出CSV格式数据[转]

转自:http://codingstandards.iteye.com/blog/604541 MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' e...

weixin_30826761的博客 108

智能车实战——从ADC采集到PWM控制,让电磁车精准循迹

本文详细介绍了电磁循迹智能车的实现原理与实战技巧,涵盖从ADC信号采集、PWM控制到PID算法整定的全流程。通过STM32代码示例解析电感信号处理、差比和偏差计算及电机驱动等关键技术,帮助开发者快速掌握智能车精准循迹的核心方法,提升电磁车竞赛项目的开发效率。

weixin_29192211的博客 301

2.1 直流无刷电机(BLDC):机械结构与组件

本文详细解析了直流无刷电机(BLDC)的机械结构与核心组件。BLDC电机通过电子换向取代传统机械电刷,主要包含定子、转子、位置传感器和电子换向器四大组件。定子采用硅钢片叠压结构,配有三相绕组;转子采用永磁体材料,结构设计影响转矩特性;位置传感器(霍尔、编码器、旋转变压器)实现精准换向;电子换向器通过功率逆变拓扑完成电流控制。文章还对比了不同绕组类型、永磁材料及传感器技术的性能特点,为BLDC电机的设计与应用提供了理论基础。

技术工作者 388

[转载]Bash中使用MySQL导入导出CSV格式数据

[url]http://codingstandards.iteye.com/blog/604541[/url] mysql 导入CSV格式文件 [url]http://www.cnblogs.com/garygui/archive/2012/05/22/mysql%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%85%A5.html[/url]

yuyuncheng的专栏 151

基于 YOLOv26 的车辆违规停车检测系统:实时监控

本文提出了一种基于YOLOv26的车辆违规停车实时检测系统。系统采用多模块架构,包括视频预处理、YOLOv26目标检测、DeepSORT目标跟踪、停车区域定义、行为分析和违规判定等功能模块。关键技术包括使用YOLOv26s模型进行车辆检测,结合DeepSORT算法实现车辆跟踪,支持多种停车区域定义方式(多边形、矩形、限时区域等)。系统通过边缘计算平台部署,实现了对道路边、禁止停车区等场景的实时监控,能够准确识别长时间停车、禁止区域停车等违规行为,并触发告警机制。实验结果表明,该系统在车辆检测准确率和违规判定

一键难忘的博客 773

mysql 导入导出 csv_学习 MySQL中导入 导出CSV

Sql代码 select*fromtest_infointooutfile'/tmp/test.csv'fieldsterminatedby','optionallyenclosedby'"'escapedby'"'linesterminatedby'\r\n';select*fromtest_infointooutfile'/tmp/test.cs...

weixin_34618526的博客 356

46.qt quick-自定义非常好看的qml虚拟软键盘-支持换肤、动态加载移除语言(二)

在上章我们学习了45.qt quick-qml虚拟软键盘详解(一)_诺谦的博客-优快云博客 接下来我们便来自定义一款好看的qml软键盘.如下图所示: 支持背景更换、支持动图: 支持动态加载移除语言: 支持拖拽、自由缩小放大: 支持定位坐标: ...

抵抗时间扭曲,坚持做一件有意义的事 4674

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

使用bash将csv文件数据读写到MySQL数据库的脚本之一

 情景: 有一个包含多个系的学生详细信息的csv文件,需要将文件的内容插入到一个数据表中,保证每一个系生成一个单独的排名列表。 学习信息表 studentdata.csv 文件的数据如下: 1,Navin M,98,CS 2,Kavya N,70,CS 3,Nawaz O,80,CS 4,Hari S,80,EC 5,Alex M,50,EC 6,Neenu J,70,EC 7

yumushui的专栏 3537

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

MySQL中导出CSV格式数据的SQL

MySQL中导出CSV格式数据的SQL语句样本如下: Sql代码 select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'...

wangqiaowqo的专栏 293

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Bash-Oneliner数据导入:10分钟掌握CSV与SQL文件数据库无缝集成

你是否还在为以下问题困扰?手动编写SQL导入脚本耗时费力、CSV格式错误导致数据导入失败、不同数据库导入命令差异大难以记忆。Bash-Oneliner提供了一套高效的命令行数据导入方案,让你仅用一行命令即可完成从CSV到数据库、SQL文件批量执行的全流程操作。本文将系统讲解MySQL、PostgreSQL和SQLite三大数据库的导入技巧,通过45+实战案例,带你掌握数据导入的精髓。读完本文,你将...

gitblog_01048的博客 1055

mysql dump格式,使用'mysqldump'转储CSV格式的所有表

I need to dump all tables in MySQL in CSV format.Is there a command using mysqldump to just output every row for every table in CSV format?解决方案First, I can give you the answer for one table:The troubl...

weixin_29420299的博客 260

shell将数据导出为csv

从一个 MySQL 数据库中导出指定的一系列表到 CSV 文件这段 Bash 脚本的主要功能是从一个 MySQL 数据库中导出指定的一系列表到 CSV 文件。指定了该脚本应该使用/bin/bash解释器来执行。

qq_41081716的博客 1253

mysql导入csv centos_使用bash将csv文件数据读写到MySQL数据库的脚本之一

情景:有一个包含多个系的学生详细信息的csv文件,需要将文件的内容插入到一个数据表中,保证每一个系生成一个单独的排名列表。学习信息表 studentdata.csv 文件的数据如下:1,NavinM,98,CS2,KavyaN,70,CS3,NawazO,80,CS4,HariS,80,EC5,AlexM,50,EC6,NeenuJ,70,EC7,BobA,30,EC8,AnuM,...

weixin_39640773的博客 229

csv导入mysql格式转换,这是CSV文件的最佳格式导入到MySQL数据库

I have data in the following format (sample data, there are many rows):"Rec Open Date","number 1","number 2","Data Volume (Bytes)","Device Manufacturer","Device Model","Product Description""2015-10-06...

weixin_33011357的博客 345

mysql 使用命令导入csv格式数据请教

mysql 使用命令导入csv格式数据 我在mysql中创建了userinfo的数据表,包括userId sex birth三个字段,想导入大量数据,使用命令窗口输入代码; mysql >load data local infile ‘D:/桌面文档/数据分析/user_info_utf.csv’ into table data.userinfo -> fields terminat...

weixin_40721849的博客 1289
上一篇: Bash中关于日期时间操作的常用自定义函数
下一篇: 我使用过的Linux命令之ac - 在线时间统计
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值