MySQL中使用LOAD命令快速导入数据mysql中load

作者&投稿:胥松 (若有异议请与网页底部的电邮联系)
~ MySQL中使用LOAD命令快速导入数据
在数据库管理中,数据的导入是一项重要的工作,有时候手动导入数据会非常麻烦,而MySQL提供了LOAD命令来快速导入数据,生成一条条SQL实现快速导入的目的。
LOAD命令的基本语法
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE ‘filename’
[REPLACE | IGNORE]
INTO TABLE tbl_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]
[(col_name_or_user_var,…)]
[SET col_name = expr,…]
其中,LOAD DATA是命令名称,LOW_PRIORITY表示限制LOAD的优先级,CONCURRENT表示追加数据时进行并发操作而不是一次性操作。LOCAL表示从客户端的文件系统中读取文件。REPLACE、IGNORE指定了具体的导入方式,REPLACE表示如果存在相同记录,则覆盖,否则插入,而IGNORE表示如果出现同名的记录,会忽略掉。INTO TABLE指定导入的目标表名。
在FIELDS和COLUMNS之后,分别是各个字段的分隔符和边界符。在LINES之后设置为行分隔符和行首字符。如果想跳过几行,可以使用IGNORE number LINES来忽略一定数量的行。
在设置了表和字段分隔符之后,可以通过(col_name_or_user_var,…)来指定应该将哪些列插入,可以使用SET col_name = expr语法来插入计算字段。
使用案例
假设我们有一个student表,有三个字段:id、name、age。并且我们有一个名为students.txt的文件,它包含了要插入到student表中的数据(tab分隔符):
1 Mary 20
2 John 21
3 Joe 19
我们可以使用以下命令来把students.txt数据导入到student表:
LOAD DATA LOCAL INFILE ‘students.txt’ INTO TABLE student
FIELDS TERMINATED BY ‘\t’ LINES TERMINATED BY ‘\n’
(id, name, age);
当然,如果students.txt的分隔符是逗号分隔符,那么应该使用FIELDS TERMINATED BY ‘,’。如果行分隔符是\r\n而不是\n,应该使用LINES TERMINATED BY ‘\r\n’。
使用LOAD命令时,需要将数据放在MySQL server machine的本地磁盘中。如果需要导入非常大的数据集,LOAD命令会变得非常慢,因为它会一行一行地插入,而使用LOAD LOCAL命令则可以直接跳过服务器磁盘上的所有数据,直接读取客户端本地磁盘上的数据,这样可以大大提高导入速度。
总结
LOAD命令是MySQL中一个非常有用的工具,可以快速地将数据导入到数据库中。它允许用户对具体的导入方式、目标表和字段进行指定,并且支持跳过行。在我们处理大量数据时,使用LOAD LOCAL可以大大缩短导入时间。


linux中怎么开启mysql的3306端口
1、首先,进入到控制台下,下图是我用了putty工具,远程实现的控制。之后输入“netstat -an | grep 3306”即可查看是否开启,如下图只显示listen则标识未开启。2、之后,通过cd命令进入到etc\/mysql目录下。然后输入ls命令,即可看到该目录下的文件。3、文件中会看到有my.cnf。通过“vi my.cnf”命令...

...*** [ext\/mbstring\/oniguruma\/regerror.lo] 错误 1 神啦,帮帮我吧...
问题:在手动编译安装mysql的过程中.发生错误如下:configure: error: No curses\/termcap library found 在网上找了很多的解决办法,发现以下这个正解,放上以备查用 解决方法:安装 ncurses-devel-5.5-24.20060715.i386.rpm OK!注意版本问题,也许我们两个需要安装的版本不一样.mysql也有这样的问题,php的...

...URL: http:\/\/www.w3c.org\/TR\/1999\/REC-html401-19991224\/lo...
当出现503错误时,是服务数据库,mysql tomcat apache ,它们的服务没有启动或是关闭了

Hibernate3 使用原生sql 返回集能用hbm.xml配置文件映射到类里吗?_百...
l identity:采用数据库提供的主键生成机制,为long\/short\/int型列生成唯一标识如SQL Server、MySQL中的自增主键生成机制。l hilo:通过hi\/lo算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。l seqhilo:与hi\/lo类似,通过hi\/lo算法实现的主键生成机制,只是主键历史状态保存在sequence中...

求助,如何ftp和samba共用同一个目录
FTP的目录是可以自己选择的,可以选择C盘 D盘 E盘,也可以随便选择一个文件夹或者新建一个文件夹当做FTP文件夹。这个可以在搭建FTP服务器的时候选择路径。而使用SMB协议的话,需要右键选择你需要的那个文件夹,点击属性设置为共享。你可以选择用户为everyone,这样方便点。按以上步骤即可实现FTP文件夹和SMB...

CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享_百度知 ...
   下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。    ln -s \/usr\/local\/mysql\/lib\/mysql \/usr\/lib\/mysql    ln -s \/usr\/local\/mysql\/include\/mysql \/usr\/include\/mysql    shutdown -r now #需要重启系统,...

怀化市19299777582: mysql 用load导入
封峡乳安: <p>正确写法是这样的: </p> <p>load data local infile 'D:\1.sql' into table tests columns terminated by ' ' lines terminated by '\r\n';</p> <p>如果上面一句还是报找不到文件</p> <p>那就改成下面这样的吧</p> <p>load data local infile 'D:/1.sql' into ...

怀化市19299777582: mysql怎样导入数据更快 -
封峡乳安: load data快.如果你关心导入,不关心重建索引.在导入时候,去掉表的索引导入速度更快. 不过这样重建索引的时间+导入时间,肯定大于带索引导入时间.

怀化市19299777582: mysql怎么导入excel数据 -
封峡乳安: 1新建excel表格,准备录入自己的数据.2录入要导入的数据,注意要与数据库的类型一致.3另存为txt文档,记得自己的命名.4打开txt文档,点击另存为,修改编码,解决中文utf8.5打开mysql命令行,输入如下命令,注意文件位置,数据库表.

怀化市19299777582: mysql数据库怎么导入excel文件 -
封峡乳安: F1:生成TXT文件 1.将文件另存为“文本文件(制表符分割)(*.txt)”2.然后进入命令提示符里使用命令load data local infile data.txt into table exceltomysql fields terminated by '\t';数据从MySql到Excel的转化,其过程其实还是借助那个“制...

怀化市19299777582: 怎样快速把数据输入到mysql数据库 -
封峡乳安: mysql命令行导出数据库 1,进入mysql目录下的bin文件夹:cd mysql中到bin文件夹的目录 如我输入的命令行:cd c:\program files\mysql\mysql server 4.1\bin (或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u ...

怀化市19299777582: mysql导出数据库有几种方法 -
封峡乳安: 可以使用查询插入的方法来实现,可以在系统中写一个脚本根据以上方式导出

怀化市19299777582: mysql用命令怎么将txt文件导入到库中 -
封峡乳安: 1、比如tablename.txt文件中行的记录格式是这样的:1, jacky,852,tom,95 2、根据txt内容 CREATE TABLE `tablename` (`ID` int(10) DEFAULT NULL,`username` varchar(20) DEFAULT NULL,`post` varchar(20) DEFAULT NULL ) ENGINE=...

怀化市19299777582: 求教mysql 把数据导出导入到txt的方法 -
封峡乳安: 1 如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据.可以使用如下的命令: load data low_priority infile "/home/mark/data sql" into table Orders; 2 如果指定local关键词,则表明从客户主机读文件...

怀化市19299777582: mysql数据库怎么导入excel数据 -
封峡乳安: 步骤一:选取要导入的数据快儿,另外要多出一列 步骤二:将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本文件(制表符分割)(*.txt)”,假如存到“D:\data.txt”这个位置里.步骤三:根据要导入的数据快儿建立MySql数据库和表,然后使用命令 load data local infile 'D:\data.txt' into table exceltomysql fields terminated by '\t'; 进行导入操作.现在数据已经全部导入到MySql里了,到此,数据由Excel到MySql的转换已经完成.

怀化市19299777582: mysql 批量导入txt -
封峡乳安: 导入同一个表吗,如果是,有两个方法,一是用命令把所有TXT文件链接为一个,二是用FOR命令导入所有文件.方法一、在命令提示符(DOS窗口)使用下面的命令可以把所有TXT文件合并为一个:TYPE *.TXT > 合并后的文件.DAT 然后导入 合并后的文件.DAT 即可 方法二、编写批处理完成所有文件的导入,基本格式:FOR %%F IN (*.TXT) DO ( CALL MYSQL_IMPORT %%F) 里面的MYSQL_IMPORT是自己写的导入一个文件的批处理

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网