在MySQL中如何使用LOAD_FILE()函数?(代码示例)-mysql教程-学派吧

在MySQL中,LOAD_FILE()函数读取一个文件并将其内容作为字符串返回。

语法

LOAD_FILE(file_name)

其中file_name是文件的完整路径。

下面是我从一个文件中选择内容的示例:

SELECT LOAD_FILE('/data/test.txt') AS Result;

结果:

+------------------------------------------+
| Result                                   |
+------------------------------------------+
| This text is all that the file contains! |
+------------------------------------------+

一个数据库的例子

下面是一个将文件内容插入数据库时查询的示例:

INSERT INTO MyTable (FileId, UserId, MyBlobColumn) 
VALUES (1, 20, LOAD_FILE('/data/test.txt'));

在本例中,列MyBlobColumn有一个BLOB数据类型(允许它存储二进制数据)。

现在它在数据库中,我们可以选择它:

SELECT MyBlobColumn
  FROM MyTable
  WHERE UserId = 20;

结果:

+------------------------------------------+
| MyBlobColumn                             |
+------------------------------------------+
| This text is all that the file contains! |
+------------------------------------------+

如果文件不存在,返回NULL:

SELECT LOAD_FILE('/data/oops.txt') AS Result;

结果:

+--------+
| Result |
+--------+
| NULL   |
+--------+

如果不满足以下条件之一,都有可能返回NUll:

1.文件必须位于服务器主机上。

2.你必须具有该FILE权限才能读取该文件。拥有该FILE权限的用户可以读取服务器主机上的任何文件,该文件是world-readable的或MySQL服务器可读的。

3.文件必须是所有人都可读的,并且它的大小小于max_allowed_packet字节。

你可以这样检查:

SHOW VARIABLES LIKE 'max_allowed_packet';

结果:

+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 67108864 |
+--------------------+----------+

如果secure_file_priv系统变量被设置为非空目录名,则要加载的文件必须位于该目录中。

你可以这样检查:

SHOW VARIABLES LIKE 'secure_file_priv';

结果:

+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| secure_file_priv | /data/ |
+------------------+--------+

在本例中,我只能从/data/目录中读取文件。

相关推荐:《MySQL教程》

本篇文章就是关于LOAD_FILE()函数在MySQL中的使用介绍,希望对需要的朋友有所帮助!

以上就是在MySQL中如何使用LOAD_FILE()函数?(代码示例)的详细内容,更多请关注php中文网其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/data/3452.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2019年4月9日 下午8:57
下一篇 2019年4月9日 下午8:57

相关推荐

  • MySQL中utf8和utf8mb4编码有什么区别?-mysql教程-学派吧

    本篇文章给大家带来的内容是关于MySQL中utf8和utf8mb4编码有什么区别?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不…

    数据库运维 2019年4月9日
    2.5K00
  • MySQL数学函数的简单总结-mysql教程-学派吧

    MySQL包含了很多函数和运算符,可以帮助我们处理数据。下面我们就给大家整理出MySQL中可用的数学函数,希望对需要的朋友有所帮助! ABS()返回给定值的绝对值。 ACOS()返回数字的反余弦值。 ASIN()返回数字的反正弦值。 ATAN()返回一个或多个值的反正切值。 ATAN2()返回两个参数的反正切。 CEIL()同义词是CEILING()。 CE…

    数据库运维 2019年4月9日
    1.9K00
  • mysql数据库中影响性能因素(附数据库架构案例)-mysql教程-学派吧

    本篇文章给大家带来的内容是mysql数据库中影响性能因素的讲解(附数据库架构案例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情,“你对数据库的掌握如何?”,什么时候最考验数据库的性能,答应主要方面上讲就是大数据量的读写时,而电商类的大促活动就是考验各自的数据库性能的时候啦。 对于w…

    数据库运维 2018年11月24日
    2.3K00
  • CPU资源和可用内存大小对数据库性能有没有影响?-mysql教程-学派吧

    本篇文章给大家带来的内容是关于CPU资源和可用内存大小对数据库性能有何影响?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助 前言 可能影响到数据库性能的几个点,其一就是服务器硬件,也是本节要说的CPU与可用内存。 引入 当热数据超过可用内存大小,MemCache存储引擎缓存层容易失效(当缓存大量失效时,容易产生大量的网络传输),从而影响服务器的…

    数据库运维 2018年11月24日
    2.6K00
  • 数据库中的Schema是什么?-mysql教程-

    数据库中schema是数据库对象集合,它包含了表,视图等多种对象。schema就像是用户名,当访问数据表时未指明属于哪个schema,系统就会自动的加上缺省的schema 我们在学习数据库中会碰到一个模糊的概念,它就是Schema。很多人对他都不是很了解,今天将要在文章中为大家详细介绍这个概念,具有一定的参考作用,希望对大家有所帮助。 【推荐课程:数据库教程…

    数据库运维 2019年4月24日
    5.3K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----