Maison  >  Article  >  base de données  >  Comment utiliser la fonction LOAD_FILE() dans MySQL ? (exemple de code)

Comment utiliser la fonction LOAD_FILE() dans MySQL ? (exemple de code)

藏色散人
藏色散人original
2019-03-27 14:08:497052parcourir



Dans MySQL, la fonction LOAD_FILE() lit un fichier et renvoie son contenu sous forme de chaîne.

Syntaxe

LOAD_FILE(file_name)

où file_name est le chemin complet du fichier.

Voici un exemple de ma sélection de contenu à partir d'un fichier :

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

Résultat :

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

Un exemple de base de données

Ici is Un exemple de requête lors de l'insertion du contenu d'un fichier dans la base de données :

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

Dans cet exemple, la colonne MyBlobColumn a un type de données BLOB (lui permettant de stocker des données binaires).

Maintenant qu'il est dans la base de données on peut le sélectionner :

SELECT MyBlobColumn
  FROM MyTable
  WHERE UserId = 20;

Résultat :

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

Si le fichier n'existe pas, renvoyer NULL :

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

Résultat :

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

Si l'une des conditions suivantes n'est pas remplie, NULL peut être retourné :

Le fichier doit être retourné. être situé sur l'hôte du serveur.

2. Vous devez disposer de l'autorisation FILE pour lire le fichier. Les utilisateurs disposant de cette autorisation FILE peuvent lire n'importe quel fichier sur l'hôte du serveur qui est lisible par tout le monde ou par le serveur MySQL.

3. Le fichier doit être lisible par tout le monde et sa taille est inférieure à max_allowed_packet octets.

Vous pouvez vérifier comme ceci :

SHOW VARIABLES LIKE 'max_allowed_packet';

Résultat :

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

Si la variable système secure_file_priv est définie sur un nom de répertoire non vide, le fichier à à charger doit se trouver dans ce répertoire.

Vous pouvez vérifier comme ceci :

SHOW VARIABLES LIKE 'secure_file_priv';

Résultat :

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

Dans ce cas, je ne peux lire qu'à partir du document du répertoire /data/.

Recommandations associées : "Tutoriel MySQL"

Cet article concerne l'utilisation de la fonction LOAD_FILE() dans MySQL. J'espère qu'il sera utile aux amis dans le besoin. !



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn