搜索
首页数据库mysql教程mysql高速导入导出大容量TXT文本_MySQL

bitsCN.com


mysql高速导入导出大容量TXT文本
 

先谈谈如何mysql导入TXT

用到loaddata, MySQL的LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。

 

load data参数配置:

 

SQL代码

LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt(file路径)' [REPLACE | IGNORE]  

 INTO TABLE tbl_name  

 [FIELDS  

     [TERMINATED BY '/t']  

     [OPTIONALLY] ENCLOSED BY '']  

     [ESCAPED BY '//' ]] 

 [LINES TERMINATED BY '/n']  

 [IGNORE number LINES]  

 [(col_name,...)]   

 

如果指定LOCAL关键词,从客户本地主机读文件。如果LOCAL没指定,文件必须位于服务器上(远程用的)。(LOCAL在MySQL3.22.6或以后版本中可用。)如果你指定关键词LOW_PRIORITY,LOAD DATA语句的执行被推迟到没有其他客户读取表后。REPLACE和IGNORE关键词控制对现有的唯一键记录的重复的处理。如果你指定REPLACE,新行将代替有相同的唯一键值的现有行。

如果你 指定IGNORE,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键键时,出现一个错误,并且文本文件的余下部分被忽略时。如果你使用LOCAL关键词从一个本地文件装载数据,服务器没有办法在操作的当中停止文件的传输,因此缺省的行为好像IGNORE被指定一样。LOAD DATA INFILE是SELECT ... INTO OUTFILE的逆操作,SELECT句法。为了将一个数据库的数据写入一个文件,使用SELECT ... INTO OUTFILE,为了将文件读回数据库,使用LOAD DATA INFILE。两个命令的FIELDS和LINES子句的语法是相同的。两个子句是可选的,但是如果指定两个,FIELDS必须在LINES之前。

 

如果你指定一个FIELDS子句,它的每一个子句(TERMINATED BY, [OPTIONALLY] ENCLOSED BY和ESCAPED BY)也是可选的,除了你必须至少指定他们之一。

 

如果你不指定一个FIELDS子句,缺省值与如果你这样写的相同:

 

FIELDS TERMINATED BY '/t' ENCLOSED BY '' ESCAPED BY '//'

 

如果你不指定一个LINES子句,缺省值与如果你这样写的相同:

 

LINES TERMINATED BY '/n' 

换句话说,缺省值导致读取输入时,LOAD DATA INFILE表现如下:

 

在换行符处寻找行边界 

在定位符处将行分进字段 

不要期望字段由任何引号字符封装 

将由“/”开头的定位符、换行符或“/”解释是字段值的部分字面字符 

相反,缺省值导致在写入输出时,SELECT ... INTO OUTFILE表现如下:

 

在字段之间写定位符 

不用任何引号字符封装字段 

使用“/”转义出现在字段中的定位符、换行符或“/”字符 

在行尾处写换行符 

注意,为了写入FIELDS ESCAPED BY '//',对作为一条单个的反斜线被读取的值,你必须指定2条反斜线值。

IGNORE number LINES选项可被用来忽略在文件开始的一个列名字的头:

 

mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;

 

我建了一个demo表:

 

SQL代码

mysql> use DB_cmd_demo;  

  

mysql> explain insertdemo;  

+-------+-------------+------+-----+---------+-------+  

| Field | Type        | Null | Key | Default | Extra |  

+-------+-------------+------+-----+---------+-------+  

| code  | varchar(25) | YES  |     | NULL    |       |  

| demo  | varchar(15) | NO   |     |         |       |  

+-------+-------------+------+-----+---------+-------+  

2 rows in set (0.01 sec)  

File_AA.txt文本格式如下:

 

XML/HTML代码

AAVTUALOJJKEC  

AAHRFTXIBLGYG  

AAOAQVLJROSBT  

AACNKRKBZEDPE  

SQL代码

mysql> load data local infile 'd:/File_AA.txt' into table insertdemo (demo);  

Query OK, 4 rows affected (0.00 sec)  

Records: 4  Deleted: 0  Skipped: 0  Warnings: 0  

生成如下:

 

SQL代码

mysql> select * from insertdemo;  

+------+----------------+  

| code | demo           |  

+------+----------------+  

| NULL | AACNKRKBZEDPE  |  

 | ULL | AAOAQVLJROSBT  

 | ULL | AAHRFTXIBLGYG  

 | ULL | AAVTUALOJJKEC  

+------+----------------+  

4 rows in set (0.00 sec)  

再谈谈mysql如何导出到TXT

这是网上的一个demo,在这里贴一下,其实两个用法主要是理解每个参数的用法就OK了

     

 

SQL代码

-- 导出数据为文本文件  

SELECT demo,code  

INTO OUTFILE 'd:/DM_HY_EXPORT.TXT'  

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ''''  

LINES TERMINATED BY '/n'  

FROM insertdemo;  

   

FIELDS TERMINATED BY ',' 数据字段间用逗号隔开  

OPTIONALLY ENCLOSED BY '''' 每个字段的数据用单引号括住(注意单引号的表达方法)  

LINES TERMINATED BY '/n' 每条数据结束用'/n'作为换行符。  

 

bitsCN.com
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么删除unique keymysql怎么删除unique keyMay 12, 2022 pm 03:01 PM

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。

html怎么读取文本文件html怎么读取文本文件Mar 26, 2024 pm 04:07 PM

HTML 本身无法直接读取文本文件,但可以通过后端编程语言(如 PHP、Python、Java)或前端 JavaScript 技术来实现此功能。后端方法使用 PHP 的 file_get_contents() 函数从文本文件中读取内容,并将其嵌入到 HTML 页面中。前端 JavaScript 方法使用 Fetch API 发送 GET 请求到服务器上的文本文件,然后解析响应内容并将其显示在 HTML 页面中。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。