`

[转]mysql批量导入已经格式好的文本数据

阅读更多
				LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
		
				    [REPLACE | IGNORE]
		
				    INTO TABLE tbl_name
		
				    [CHARACTER SET charset_name]
		
				    [FIELDS
		
				        [TERMINATED BY 'string']
		
				        [[OPTIONALLY] ENCLOSED BY 'char']
		
				        [ESCAPED BY 'char']
		
				    ]
		
				    [LINES
		
				        [STARTING BY 'string']
		
				        [TERMINATED BY 'string']
		
				    ]
		
				    [IGNORE number LINES]
		
				    [(col_name_or_user_var,...)]
		
				    [SET col_name = expr,...]
		
 
使用如下命令:
LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu;
因为这是一条SQL语句,你同样可以在你的JAVA程序序中用:
st.execute(“LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu”);
(st表示Statement的一个实例变量,假设数据库连接,st的初使化已经完成)
 
创建stu表:
create table stu_other(id int auto_increment primary key,stu_name varchar(50),age int);
 
然后创建一个文本文件“stu.txt”,每行包含一个记录,放在C盘的根目录下。默认的字段分隔符是(tab),你可以更改,下面说明。并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N)。
 
如stu.txt的内容如下:
100001    FLB100001     100001
100002    FLB100002     100002
100003    FLB100003     100003
100004    FLB100004     100004
100005    FLB100005     100005
100006    FLB100006     100006
100007    FLB100007     100007
100008    FLB100008     100008
这里我用的是table分开。
 
要想将文本文件“stu.txt”装载到stu表中,使用这个命令:
mysql> LOAD DATA LOCAL INFILE 'c:\\stu.txt' INTO TABLE stu;
这里没有指定字段分隔符,以及行的终止符,默认情况下是这样的:
字段分隔符:
				FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
		
				其中的'\t'就表示是字段分隔符为tab键,如果不想更改,那就把FIELDS TERMINATED BY '\t'中的'\t'改在你自己的分隔符。将执行命令改成这样:
		
mysql> LOAD DATA LOCAL INFILE 'c:\stu.txt' INTO TABLE stu fields terminated by ‘ ‘;
这里我用的是空格。
行终止符:
				LINES TERMINATED BY '\n' STARTING BY ''
		
 
请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
 
mysql> LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu
    -> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
 
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“stu.txt”的语句已经足够。
 
另外,还可以使用SELECT ... INTO OUTFILE 将数据导入到外部文件中,如下:
select * from stu_t into outfile "c:\\stu_t.txt";
不过,没有按记录自动分行
这样才能够换行:
select * from stu_t into outfile "c:\\stu_t.txt" lines terminated by '\r\n';
 
所有实例都是经过测试的,运行成功。
 
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1820153

分享到:
评论

相关推荐

    向MySQL批量导入文本文件

    本篇文章将详细讲解如何向MySQL批量导入文本文件,以便于快速有效地处理大量数据。 首先,理解文本文件导入的基本原理。在MySQL中,最常用的文本格式是CSV(Comma Separated Values,逗号分隔值)或TSV(Tab ...

    mysql中将一个表数据批量导入另一表.rar

    在MySQL数据库管理中,批量导入数据是常见的操作,特别是在处理大量数据时,高效的数据迁移和复制至关重要。本教程主要关注如何在MySQL中将一个表的数据批量导入到另一个表。这通常用于数据备份、数据同步或者在不同...

    文本文件批量导入sql数据库

    本教程将详细介绍如何批量导入文本文件到SQL数据库,以提高效率并优化数据管理。 **批量导入文本文件的重要性** 在处理大量文本数据时,手动逐条输入数据到数据库不仅耗时,而且容易出错。批量导入功能允许我们将...

    照片批量导入导出

    在IT行业中,照片批量导入导出是一项常见的任务,特别是在数据管理、媒体库建设或网站维护等领域。本场景涉及的关键技术主要是数据库操作、图像处理以及批处理能力。以下将详细阐述这些知识点: 1. **Oracle数据库*...

    excel数据导入mysql工具

    它允许用户将Excel文件中的数据批量导入到MySQL数据库中,节省了手动输入或编写脚本的繁琐工作。通常,这个过程包括以下步骤: 1. **数据准备**:在Excel中整理数据,确保数据格式符合MySQL的数据类型要求,例如...

    批量导入数据库中数据

    2. **格式要求**:批量导入的数据通常存储在文本文件中,如CSV、TSV或固定宽度格式。这些文件应遵循特定的格式规则,如字段之间用逗号分隔,数值型字段可能需要引号包围,特殊字符需要转义等。 3. **字段映射**:在...

    Debug批量导入Excel数据mysql.rar

    本示例涉及的是如何批量导入Excel数据到MySQL数据库,这通常用于数据分析、报表生成或者系统初始化等场景。下面将详细讲解这个过程,并提供相关的知识点。 首先,我们需要了解Excel文件。Excel是Microsoft Office...

    excel批量导入数据库

    这是因为大多数数据库系统能更好地处理这些纯文本格式的数据。 3. **批量导入原理**:批量导入通常通过SQL语句(如`LOAD DATA INFILE`在MySQL中,或`BULK INSERT`在SQL Server中)或者编程语言接口(如Java的JDBC,...

    MsSql数据导入MySql

    在描述中提到的`LOAD DATA LOCAL INFILE`是MySQL提供的一种功能,用于快速地从本地文件批量导入数据到表中。这个命令可以极大地提高数据导入的效率,相比逐条INSERT语句执行,它能显著减少导入时间。使用此命令的...

    从文本批量读取数据到MySQL数据库并把名字也添加进去

    当我们需要处理大量文本数据时,批量导入到数据库可以大大提高工作效率。以下是一个关于如何从文本批量读取数据到MySQL数据库,并将文件名作为一列添加进去的详细步骤。 首先,确保你已经安装了MySQL数据库服务,...

    mysql批量导出建表语句.zip

    MySQL批量导出建表语句是一项常见的数据库管理任务,它涉及到数据库备份、迁移或复制到新的环境。在本例中,"mysql批量导出建表语句.zip" 是一个压缩包,包含了一种使用Kettle(也称为Pentaho Data Integration,...

    mysql导入文本或excel文件

    `mysqlimport`是MySQL自带的一个用于批量导入数据的工具。它可以一次性将多个文件导入到一个或多个表中,非常适合大量数据的导入工作。使用`mysqlimport`的基本语法如下: ```shell mysqlimport [options] db_name ...

    sql-数据批量导入

    "sql-数据批量导入"这个主题涉及到如何高效地将Excel(通常为.xlsx或.xls格式)文件中的数据导入到SQL数据库中。这里我们将深入探讨这个过程,包括使用的方法、工具以及注意事项。 1. **数据准备**: 在进行批量...

    批量从文本文件中读取数据存储到MySQL数据库

    批量导入这些数据到MySQL数据库可以提高效率,避免逐条插入的低效操作。 要实现这个过程,我们可以使用Python编程语言,因为它提供了丰富的库和工具,如`pandas`和`mysql-connector-python`。以下是一步一步的详细...

    批量生成mysql中文测试数据

    在本案例中,PHP被用来生成和处理大量结构化的中文文本数据,这些数据将被插入到MySQL数据库中。 MySQL是一个流行的开源关系型数据库管理系统(RDBMS),对于处理大量数据和高并发访问具有良好的性能。在开发和优化...

    优化后的asp批量导入

    批量导入功能在ASP中通常涉及到数据处理,特别是数据库的大量数据输入,例如CSV或Excel文件的数据导入到数据库中。这样的过程可以极大地提高工作效率,尤其是在处理大量数据时。 在“优化后的asp批量导入”这个主题...

    将OICQ数据转成MYSQL数据

    5. 数据导入:使用MySQL的命令行工具或编程接口(如Python的pymysql库)将转换后的数据批量导入到MySQL数据库中。可以使用INSERT语句逐条插入,或者使用LOAD DATA INFILE命令批量导入CSV或其他文本文件。 6. 数据...

    Redis-PipeLine批量导入.docx

    总的来说,Redis Pipeline 批量导入是一种高效的数据导入方式,通过预处理命令文件并使用 Redis 协议格式,可以确保数据的准确导入并减少网络延迟。同时,结合 MySQL 数据库的特性,可以方便地将数据库数据转换为 ...

Global site tag (gtag.js) - Google Analytics