MySQL select into outfile 导出和 load data 的使用

8.3 MySQL 表数据的导出和导入(select……into outfile、mysqldump命令、多表导出、多数据库导出mysql命令) 是 MySQL 提供的一个语句,它允许你将查询结果直接导出到服务器的文件系统中的一个文件。命令行工具导入数据是一个相对简单的过程,但需要确保 SQL 文件的准确性和安全性。可以是任何字符,用来包围字段内容,通常用于确保包含分隔符的字段值不会与字段分隔符混淆。语句的 SQL 文件,或者一个包含数据和结构的完整 SQL 转储文件。SQL 语句的接口,用于将文本文件中的数据导入到 MySQL 数据库的表中。是一个强大的命令行工具,用于导出 MySQL 数据库的数据和结构。这是包含要导入数据的文件的路径。 阅读详情

select into outfile

是什么

导出数据到以文本文件形式存在本地上

语法

SELECT ... INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        [export_options]
 
export_options:
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]

导出示例

SELECT * FROM sys_log 
INTO OUTFILE "C:/Users/Administrator/Desktop/202012/2020-12-07.txt"  -- 文件夹必须存在
CHARACTER SET utf8 -- 可选,避免中文乱码问题
FIELDS TERMINATED BY '||' -- 字段分隔符,每个字段(列)以什么字符分隔,默认是 \t
OPTIONALLY ENCLOSED BY '' -- 文本限定符,每个字段被什么字符包围,默认是空字符
ESCAPED BY '\\' -- 转义符,默认是 \
LINES TERMINATED BY '\n' -- 记录分隔符,如字段本身也含\n,那么应先去除,否则load data 会误将其视作另一行记录进行导入

注意事项

在 Linux 上有可能会没有权限,要注意得有权限才可以

load data

是什么

  • MySQL load data 语句能快速将一个文本文件的内容导入到对应的数据库表中(一般文本的一行对应表的一条记录)。
  • 数据库应用程序开发中,涉及大批量数据需要插入时,使用 load data 语句的效率比一般的 insert 语句的高很多。

语法

LOAD DATA
    [LOW_PRIORITY | CONCURRENT] [LOCAL]
    INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [CHARACTER SET charset_name]
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number {LINES | ROWS}]
    [(col_name_or_user_var
        [, col_name_or_user_var] ...)]
    [SET col_name={expr | DEFAULT},
        [, col_name={expr | DEFAULT}] ...]

导入示例

LOAD DATA LOCAL INFILE 'C:/Users/Administrator/Desktop/202012/2020-12-07.txt' INTO TABLE sys_log
CHARACTER SET utf8 -- 可选,避免中文乱码问题
FIELDS TERMINATED BY '||' -- 字段分隔符,每个字段(列)以什么字符分隔,默认是 \t
OPTIONALLY ENCLOSED BY '' -- 文本限定符,每个字段被什么字符包围,默认是空字符
ESCAPED BY '\\' -- 转义符,默认是 \
LINES TERMINATED BY '\n' -- 记录分隔符,如字段本身也含\n,那么应先去除,否则load data 会误将其视作另一行记录进行导入
(`id`,`log_type`,`log_content`,`operate_type`,`userid`,`username`,`ip`,`method`,`request_url`,`request_param`,`request_type`,`cost_time`,`create_by`,`create_time`,`update_by`,`update_time`) -- 每一行文本按顺序对应的表字段,建议不要省略

注意事项

  • 字段中的空值 null 需要使用 \N 表示,如果用空字符串表示,那么根据不同的数据类型,MySQL 处理也各异
  • 数据库字段如果是varchar/char,插入空时,load data 默认导入 空字符串
  • 数据库字段如果是decimal,插入空时,load data 默认导入 0.00000000
  • 数据库字段如果是datetime,插入空时,load data 默认导入 0000-00-00 00:00:00
  • 字段类型如果是datetime,应该严格把控相应文本数据的格式,建议采用类似这种 yyyy-MM-dd HH:mm:ss 同时有日期、时间的格式,否则难以保证数据导入的正确性
  • 数据库字段如果是datetime,插入yyyy-MM-dd时,load data 默认导入 yyyy-MM-dd 00:00:00,数据正确性能够保证
  • 数据库字段如果是datetime,插入HH:mm:ss时,load data 默认导入 0000-00-00 00:00:00,数据正确性不能够保证
  • local关键字

如果 load data 使用时指定了 local 关键字,则表示文件放在客户端主机上,从客户端读取文本文件;如果没指定,则表示从服务器主机读取文本文件

  • replace 和 ignore 关键字
  • replace 和 ignore 关键字用于控制与唯一键重复的记录的处理
  • 如果指定 replace ,与唯一键重复的行将被覆盖更新。对于任意记录覆盖更新时,如果唯一键外的各个字段其实都没有变化,那么执行操作时受影响行数为1;如果除唯一键外的任意字段有变化,那么执行操作时受影响行数为2
  • 如果指定 ignore ,与唯一键重复的行将被忽略,默认指定 ignore

参考1
参考2
参考3

YOLO26改进策略【多YAML融合】| UNetV2 + BiFormer + WIoU Wise-IoU是一种基于IoU的损失函数,旨在解决目标检测中边界框回归损失函数在处理低质量训练数据时的问题。 阅读详情

相关推荐

vscode中创建vue快捷键

1.安装Vetur插件(扩展里面直接搜) 2.vscode 界面里面左上角选则 文件=> 首选项=> 用户代码片段=>新建全局代码片段=>在输入框中新建名称为vue.json 3.删除里面的注释,当然你也可以留着,把下面的代码粘贴进去! { // Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // descri

Leon_940002463的博客 3207

mysql 开发进阶篇系列 49 表的数据导出(into outfile,mysqldump)

一.概述   在数据库的日常维护中,表的导入和导出是很频繁的操作,本篇讲解如何使用导入功能,并以案例为演示。某些情况下,需要将表里的数据导出为某些符号分割的纯数据文本,而不是sql语句,比如:(1)用来作为excel显示。 (2)节省备份空间。(3)为了快速的加载数据,load data的加载速度比普通的sql加载要快20倍以上。为了满足这些应用,可以使用以下两种办法来实现。   1. 方法1...

weixin_43394129的博客 803

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下...

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下 CT Image with Window presets This is an example of displaying a ct image along with buttons to set ww/wc pres...

浩秦的博客 1841

MySQL数据的导入导出mysqldump、mysqlimport into outfile和load data

MySQL数据的导入导出mysqldump、mysqlimport into outfile和load data

eagle89的专栏 6608

RealSense D455启动教程

RealSense D455启动教程 修改rs_camera.launch

每天进步一点点 2417

星空组网 vs 蒲公英 vs Tailscale:2024年国内免费异地组网工具横评(含实测数据)

本文对2024年国内主流免费异地组网工具星空组网、蒲公英和Tailscale进行了深度横向评测。基于实测数据,重点分析了三者在P2P成功率、中继延迟、传输速度及稳定性方面的表现,为中小企业、远程办公及个人开发者提供了清晰的选择指南。星空组网在国内网络环境下展现出优秀的平衡性。

weixin_29217235的博客 1437

MySQL 之SELECT ... INTO OUTFILE与LOAD DATA语句

文章目录一. SELECT ... INTO OUTFILE语句简介1.1 SELECT ... INTO OUTFILE的使用场景1.2 SELECT ... INTO OUTFILE官方文档介绍1.3 SELECT ... INTO OUTFILE语法1.4 SELECT ... INTO OUTFILE的配置二.LOAD DATA语句简介2.1 load data语句概述2.2 load data 语法2.2.1 Non-LOCAL Versus LOCAL Operation2.2.2 Input

只是甲的博客 1万+

别再瞎调参数了!用MATLAB fmincon优化傅里叶级数,为你的机器人设计“完美”激励轨迹

本文详细介绍了如何利用MATLAB的fmincon优化器设计机器人激励轨迹,通过优化傅里叶级数参数,解决传统试错法的低效问题。文章涵盖了目标函数设计、约束条件转化及优化算法选择,帮助工程师实现高精度的系统辨识和动力学参数优化。

weixin_42613501的博客 240

MySql直接命令行执行select和load导入导出数据

导出: :select * into outfile 'd:/ad.txt' from a limit 100; 导入: load data local infile 'd:/ad.txt' into table a lines terminated by '\n';

imzoer的专栏 4120

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

Prompt典型构成、原则与技巧,以及OpenAI API重要参数解释,助你轻松入门Prompt

同学小张的博客 2580

利用Dify构建文档内容的分析对比

本次主要做了一些workflow和Agent的应用实现,供大家参考。主要目的是为了进行两个内部报告文件的内容对比,特别是报告中的各类审批表、申请表、推荐表和流程对比,本地数据通过知识库方式分别加载到两个知识库中,编制工作流针对同一个问题进行知识库检索,之后将查询结果进行合并,再一起提交给LLM进行对比,最终将对比分析结果以markdown方式返回显示。主要包括如何构建知识库,如何设计workflow、如何将工作流发布为工具、如何设计提示词、如何在agent中引入前面发布的工具,最终通过agent实现与用户交

hhue2007的专栏 2522

MySQL数据库的备份与恢复(1)——使用Select Into Outfile和Load Data Infile命令

MySQL数据库的备份与恢复(1)——使用Select Into Outfile和Load Data Infile命令 一、使用Select Into Outfile命令导出数据 命令格式如下: SELECT ... INTO OUTFILE 'file_name' fields terminated by 'char'; 说明: (1)OUTFILE参数指定的文件所在的路径需要有mysql的访问权限,否则会报错

睿思达DBA 1683

数据分片的三种方式:哈希、一致性哈希、按照数据范围分片

数据分片就是按照一定的规则,将数据集划分成相互独立、正交的数据子集,然后将数据子集分布到不同的节点上。通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。三种常用的数据分片方式:1. 哈希分片2. 一致性哈希分片(Consistent Hash)3. 按照数据范围分片(Range Based)数据分片的应用场景:1. 数据库扩展2. 分布式缓存对集群部署多个缓存节点,提高缓存的处理能力。

wjianwei666的专栏 1133

mysql load data语法_mysql之导入(LOAD DATA)导出(SELECT ...INTO OUTFILE)语法

语法1:LOAD DATALOADDATAINFILE'file_name'[REPLACE | IGNORE]INTO TABLEtbl_name[CHARACTER SET charset_name][{FIELDS | COLUMNS}[TERMINATED BY 'string'][[OPTIONALLY] ENCLOSED BY 'char'][ESCAPED BY 'char']][L...

weixin_33426866的博客 705

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

mysql outfile 行数_使用MySQL的SELECT INTO OUTFILE ,Load data file,Mysql 大量数据快速导入导出...

使用MySQL的SELECT INTO OUTFILE 、Load data fileLOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。当用户一前一后地使用SELECT ... INTO OUTFILE 和LOAD DATA INFILE 将数据从一个数据库写到一个文件中,然后再从文件中将它读入数据库中时,两个命令的字段和行处理选项必须匹配。否则,LOAD DATA I...

weixin_39789690的博客 276

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql load select_mysql load data 与 select into outfile 配合实现文本文件导入导出

mysql数据导入导出通过下面的这种方式能够快速的实现百万千万级数据的快速导入导出。导出到文件中(select into outfile)SELECT fields INTO OUTFILE 'file_name'[{FIELDS | COLUMNS} 字段[TERMINATED BY 'string'] 字段之间分隔符号[[O...

weixin_36346221的博客 227

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

mysql load dump_使用MySQL的SELECT INTO OUTFILE ,Load data file,Mysql 大量数据快速导入导出...

使用MySQL的SELECT INTO OUTFILE 、Load data fileLOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。当用户一前一后地使用SELECT ... INTO OUTFILE 和LOAD DATA INFILE 将数据从一个数据库写到一个文件中,然后再从文件中将它读入数据库中时,两个命令的字段和行处理选项必须匹配。否则,LOAD DATA I...

weixin_32630003的博客 242

mysql导入数据说找不到文件格式_mysql load data, select into outfile 导入和导出 CSV格式...

1.secure_file_privmysql 数据导出和导入csv格式时,需要特别注意 null 和空字符的处理,在导出和导入的结果要保持一致。secure_file_priv 在 select into file 时指定文件存储位置。如果为null表示不能使用 select into outfile ;如果为 '' 表示可以使用 select into file 保存到任何目录;该变量的修改...

weixin_30273229的博客 1184

MySql中LOAD DATA INFILE函数的使用

LOAD DATA INFILE 在MySQL中LOAD DATA INFILE语句以非常高的速度从文本文件中读取行,并写入到表中。文件名称必须为一个文字字符串。LOAD DATA INFILE 是 SELECT ... INTO OUTFILE 的相对语句。 SELECT ... INTO OUTFILE 把表的数据备份到文件使用 LOAD DATA INFI 从备份文件恢复数据到表中 load data [low_priority...

渗透之路,攻防之间皆学问 9249

mysql select into outfile

MySQL select into outfile用法 ybcljay 2018-11-28 10:58:43 ...

qq_34136190的博客 2139

mysql load data 与 select into outfile 配合实现文本文件导入导出

mysql数据导入导出通过下面的这种方式能够快速的实现百万千万级数据的快速导入导出。 导出到文件中(select into outfile) SELECT fields INTO OUTFILE 'file_name' [{FIELDS | COLUMNS} 字段 [TERMINATED BY 'strin...

weixin_30337251的博客 153

mysql load导出文件_MySQL数据导入导出之Load data file

MySQL的数据导入和导出纯数据的方式,一般采用的是load data file 、mysqlimport 、select into outfile 、>/>>重定向的方式,这里主要介绍load data file和select into outfile 的方式。一、MySQL导入和导出数据:1、load data file简介:The LOAD DATA INFILE st...

weixin_34549315的博客 1374

MySQL 导出数据select into outfile用法

1、select  into  outfield  功能: 导出数据到pc的指定目录下。 2、语法: SELECT ... INTO OUTFILE 'file_name' [CHARACTER SET charset_name] [export_options] export_options: [{FIELDS | COLUMNS}

iCoding91 4万+

mysql - etl/load data file/select into ... outfile/mysqldump

目录 1.load data infile 2.select into…outfile 3.mysqldump 1.load data infile 官方文档:https://dev.mysql.com/doc/refman/5.6/en/load-data.html 中文文档:https://www.docs4dev.com/docs/zh/mysql/5.7/reference/load-data.html#load-data%E8%AF%AD%E6%B3%95 参考文档:https://

开码河粉 517

mysql load data 导出_mysql 导出数据 selet into outfile ,导入数据 load data infile

第一步 :设置文件为了安全,配置导入导出的文件路径,导入导出的数据只允许放在该路径下(1)在my.cnf 增加变量secure_file_priv=/tmp/mysql_out_in_file重启服务,使其生效(2)加权限-- 修改所属用户 用户组chown -R mysql:mysql mysql /tmp/mysql_out_in_file-- 如果没有读写权限,请加上读写权限-- 权限...

weixin_36354355的博客 280

mysql outfile 列名_MySQL select into outfile 和 load data infile数据跨库转移

select into outfile用法SELECT ... FROMTABLE_AINTO OUTFILE "/path/to/file"FIELDS TERMINATEDBY ',' OPTIONALLY ENCLOSED BY '"'LINES TERMINATEDBY '\n';MySQL中,可以使用SELECT...INTO OUTFILE语句将表的内容导出为一个文本文件。其基本的语法...

weixin_39668282的博客 310
上一篇: HandlerMethodArgumentResolver 实现 Springboot 自定义参数解析
下一篇: viser 饼图修改颜色
bbccloud
博客等级 码龄11年 23粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值