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!