mysql load data infile

DoMyOwn 2013-08-05 05:43:32
请问一下这个是干什么用的呢?
load data infile
...全文
412 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2013-08-06
  • 打赏
  • 举报
回复
mysql中文本导入数据库中一种方式。
DoMyOwn 2013-08-06
  • 打赏
  • 举报
回复
1我现在是不知道那个文件在哪里创建的 有什么办法能找到那个 创建的文件吗? 按照代码里边的路径 没有找到那个文件
vipper23 2013-08-06
  • 打赏
  • 举报
回复
引用 4 楼 ken_chie 的回复:
那我想知道 那个文本时 认为创建 已经写好的呢 还是 在执行SQL语句时 自动创建的呢
事先已经存在,并需要导入数据库的文本
DoMyOwn 2013-08-06
  • 打赏
  • 举报
回复
那我想知道 那个文本时 认为创建 已经写好的呢 还是 在执行SQL语句时 自动创建的呢
rucypli 2013-08-05
  • 打赏
  • 举报
回复
文本数据导入数据库用的
ACMAIN_CHM 2013-08-05
  • 打赏
  • 举报
回复
任何软件,一定要掌握它的免费帮助文档.
引用
13.2.5. LOAD DATA INFILE语法 LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_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 INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。 要了解有关INSERT和LOAD DATA INFILE的效率的对比和有关LOAD DATA INFILE加速的更多信息,请参见7.2.16节,“INSERT语句的速度”。 由character_set_database系统变量指示的字符集被用于解释文件中的信息。SET NAMES和character_set_client的设置不会影响对输入的解释。 注意,目前不能载入UCS2数据文件。 您也可以通过使用mysqlimport应用程序载入数据文件;通过向服务器发送一个LOAD DATA INFILE语句实现此功能。--local选项用于使mysqlimport从客户主机中读取数据文件。如果客户端和服务器支持压缩协议,则您可以指定—compress选项提高在慢速网络中的性能。请参见8.10节,“mysqlimport:数据导入程序。 如果您使用LOW_PRIORITY,则LOAD DATA语句的执行被延迟,直到没有其它的客户端从表中读取为止。 如果一个MyISAM表满足同时插入的条件(即该表在中间有空闲块),并且您对这个MyISAM表指定了CONCURRENT,则当LOAD DATA正在执行时,其它线程会从表中重新获取数据。即使没有其它线程在同时使用本表格,使用本选项也会略微影响LOAD DATA的性能。 如果指定了LOCAL,则被认为与连接的客户端有关: · 如果指定了LOCAL,则文件会被客户主机上的客户端读取,并被发送到服务器。文件会被给予一个完整的路径名称,以指定确切的位置。如果给定的是一个相对的路径名称,则此名称会被理解为相对于启动客户端时所在的目录。 · 如果LOCAL没有被指定,则文件必须位于服务器主机上,并且被服务器直接读取。 当在服务器主机上为文件定位时,服务器使用以下规则: · 如果给定了一个绝对的路径名称,则服务器使用此路径名称。 · 如果给定了带有一个或多个引导组件的相对路径名称,则服务器会搜索相对于服务器数据目录的文件。 · 如果给定了一个不带引导组件的文件名称,则服务器会在默认数据库的数据库目录中寻找文件。 注意,这些规则意味着名为./myfile.txt的文件会从服务器数据目录中被读取,而名为myfile.txt的同样的文件会从默认数据库的数据库目录中读取。例如,下面的LOAD DATA语句会从db1数据库目录中读取文件data.txt,因为db1是当前数据库。即使语句明确把文件载入到db2数据库中的表里,也会从db1目录中读取。 mysql> USE db1; mysql> LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table; 注意,使用正斜杠指定Windows路径名称,而不是使用反斜杠。如果您使用反斜杠,您必须使用两个。 出于安全原因,当读取位于服务器中的文本文件时,文件必须位于数据库目录中,或者是全体可读的。另外,要对服务器文件使用LOAD DATA INFILE,您必须拥有FILE权限。 见5.7.3节,“MySQL提供的权限”。 与让服务器直接读取文件相比,使用LOCAL速度略慢,这是因为文件的内容必须通过客户端发送到服务器上。不过,您不需要FILE权限来载入本地文件。 只有当您的服务器和您的客户端都许可时,LOCAL才可运行。例如,如果使用—local-infile=0启动mysqld,则LOCAL不运行。请参见5.6.4节,“LOAD DATA LOCAL安全问题”。 如果您需要LOAD DATA来从一个管道中读取,您可以使用以下方法(此处我们把/目录清单载入一个表格): mkfifo /mysql/db/x/x chmod 666 /mysql/db/x/x find / -ls > /mysql/db/x/x mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x 有些输入记录把原有的记录复制到唯一关键字值上。REPLACE和IGNORE关键字用于控制这些输入记录的操作。 如果您指定了REPLACE,则输入行会替换原有行(换句............

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧