Load Data Infile批量导入数据

mysql提供了一个  load data infile xxx into table table_name  的方法来帮助批量的导入数据。这个操作是 select * out to file 操作的逆操作。

大体的使用方式是:

shell>mysql -hxx -uxx -pxx database

mysql>set names utf8;

mysql>load data infile '/path_to_file/xx.csv' into table xx ;

但是在遇到文件不在mysql目录中时,会发生 参考资料1 中的错误,修正的办法是使用 local 参数。具体问题是:

出于安全原因,当读取位于服务器中的文本文件时,文件必须位于数据库目录中,或者是全体可读的。另外,要对服务器文件使用LOAD DATA INFILE,您必须拥有FILE权限。

如果指定了LOCAL,则文件会被客户主机上的客户端读取,并被发送到服务器。文件会被给予一个完整的路径名称,以指定确切的位置。

例如:

load data local infile '/Users/shiqiang/Desktop/school.csv' into table i_school FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r';

参考资料:

1、Mysql Error 13

2、Mysql手册 Load Data Infile

时间: 2024-08-01 15:21:28

Load Data Infile批量导入数据的相关文章

mysql load data infile 命令的数据导入

使用方式如下:  代码如下 复制代码 mysql>load data local infile "D:/ab.txt" into table mytbl(name,age);  如何load数据里面带反斜杠(backslash)"" 的数据 由于如果你没有指定FIELDS子句,则默认值为假设您写下如下语句时的值:  代码如下 复制代码 FIELDS TERMINATED BY 't' ENCLOSED BY " ESCAPED BY '\' 所以,如

mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)

mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式) 首先将要导入的数据文件top5000W.txt放入到数据库数据目录/var/local/mysql/data/${db_name}/ 下,并确保导入用户拥有这个txt文件的权限,否则会报Error 13错误 1.${table_name}换myisam,我们的场景对事务没啥要求,innodb引擎速度太慢了,原来导入12个小时都没导完 2.导入前修改参数和禁止索引更新mysql> SET SESSION BULK_

mysql Load Data InFile OutFile数据导入导出

下面我们来看看关于mysql Load Data InFile  OutFile数据导入导出哦,这种方法是我们在windows cmd.exe目当下运行的然后再在dos命令方法使用下面的语句的.  Load Data InFile 相反的是 Select * From `TableTest` Into OutFile 'C:/Data_OutFile.txt'; 把表的数据导出 常用如下: Load Data InFile 'C:/Data.txt' Into Table `TableTest`

合理使用mysql中的load data infile导入数据

基本语法: load data  [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'' ]] [lines terminated by'n'] [ignore number lines] [(col_name,   )]   load data

mysql load data infile 的用法(40w数据 用了3-5秒导进mysql)_Mysql

如果是导入有中文的数据,我的mysql 设置的utf8 字符集,所以你要导入的xxx.txt 文件也要保存utf-8的字符集,命令 load data infile "d:/Websites/Sxxxx/test1.txt" ignore into table `names` fields terminated by ',' enclosed by '"'; 不知道用replace 这个关键字的话,还是会乱码..不同.等高手回答. 在详细的介绍,推荐大家去看mysql手册去吧

mysql LOAD DATA INFILE 命令模式导入超大数据库文件

导入数据库的过程中由于 文件过大 而且文件格式都不是标准的sql 文件 无法使用 source 导入 csdn 数据格式为 :用户名 # 密码 # 邮箱 各数据都以#隔开   导入sql 语句如下:  代码如下 复制代码 mysql -> LOAD DATA INFILE 'www.111cn.net.txt' INTO TABLE csdn -> FIELDS TERMINATED BY '#';     人人数据 格式 为 : 用户名 密码 中间以空格隔开 导入语句:  代码如下 复制代码

使用Oracle sql loader批量导入数据

在性能测试中,有一项十分重要的准备工作就是准备测试数据.在进行性能测试之前,首先要保证测试数据库中有测试所需要的足够多的数据.对于数据的准备工作,有时候我会使用LoadRunner生成相应的脚本去准备数据,这样的做法有一个好处就是简便易行,然而它有一个很大的缺点就是效率太慢,当我们需要的数据量极大时,这样做是非常耗时间的,所以我觉得还需要掌握各种不同的技能来完成这个任务.以下就是我在前不久的一次测试中学到的经验: 使用oracle sql loader批量导入数据(在准备测试数据时很有用!) 生

Cassandra使用pycassa批量导入数据

本周接手了一个Cassandra系统的维护工作,有一项是需要将应用方的数据导入我们维护的Cassandra集群,并且为应用方提供HTTP的方式访问服务.这是我第一次接触KV系统,原来只是走马观花似的看过KV啊,NoSQL啊.但是实际上没有实际的使用经验.经过两天的学习和接手,终于搞明白了在生产环境中的使用方式.在此简要的笔记一下.本文主要包括的内容有: Cassandra的简介, Cassandra的相关CLI Cassandra的Python API,并且给出一个批量导入数据的例子. 1. C

mysql-Mysql中load data infile时能否为其它字段设值

问题描述 Mysql中load data infile时能否为其它字段设值 比如我现在有一张表,字段有a.b.c.d四个,load data时的txt文件只包含3个字段(a.b.c)的值,在导入的同时,我能为每条记录的d字段设置一个值吗?(比如操作的用户名等) 解决方案 [MySQL5.0]Load data infile 时遇到的奇怪问题mysql load data infile的使用mysql load data infile的使用 解决方案二: http://www.2cto.com/d