Heim  >  Artikel  >  Datenbank  >  Wie verwende ich die Funktion LOAD_FILE() in MySQL? (Codebeispiel)

Wie verwende ich die Funktion LOAD_FILE() in MySQL? (Codebeispiel)

藏色散人
藏色散人Original
2019-03-27 14:08:497038Durchsuche



In MySQL liest die Funktion LOAD_FILE() eine Datei und gibt ihren Inhalt als Zeichenfolge zurück.

Syntax

LOAD_FILE(file_name)

wobei Dateiname der vollständige Pfad zur Datei ist.

Das Folgende ist ein Beispiel für die Auswahl von Inhalten aus einer Datei:

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

Das Ergebnis:

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

Ein Beispiel für eine Datenbank

Das Folgende ist ein Beispiel für die Auswahl des Inhalts einer Datei. Beispiel für eine Abfrage beim Einfügen in eine Datenbank:

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

In diesem Beispiel hat die Spalte MyBlobColumn einen BLOB-Datentyp (der das Speichern von Binärdaten ermöglicht).

Da sie nun in der Datenbank ist, können wir sie auswählen:

SELECT MyBlobColumn
  FROM MyTable
  WHERE UserId = 20;

Ergebnis:

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

Wenn die Datei nicht existiert, geben Sie NULL zurück:

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

Ergebnis:

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

Wenn eine der folgenden Bedingungen nicht erfüllt ist, kann NUll zurückgegeben werden:

1 Die Datei muss sich auf dem Server-Host befinden.

2. Sie müssen über die FILE-Berechtigung verfügen, um die Datei lesen zu können. Benutzer mit dieser FILE-Berechtigung können jede Datei auf dem Server-Host lesen, die weltweit oder vom MySQL-Server lesbar ist.

3. Die Datei muss für jeden lesbar sein und ihre Größe darf weniger als max_allowed_packet Bytes betragen.

Sie können dies wie folgt überprüfen:

SHOW VARIABLES LIKE 'max_allowed_packet';

Ergebnis:

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

Wenn die Systemvariable secure_file_priv auf einen nicht leeren Verzeichnisnamen gesetzt ist, muss die zu ladende Datei vorhanden sein befindet sich in diesem Verzeichnis.

Sie können so überprüfen:

SHOW VARIABLES LIKE 'secure_file_priv';

Ergebnis:

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

In diesem Fall kann ich nur Dateien aus dem Verzeichnis /data/ lesen.

Verwandte Empfehlungen: „MySQL-Tutorial

In diesem Artikel geht es um die Verwendung der LOAD_FILE()-Funktion in MySQL. Ich hoffe, dass er Freunden in Not hilfreich sein wird !



Das obige ist der detaillierte Inhalt vonWie verwende ich die Funktion LOAD_FILE() in MySQL? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn