Das obige Kernausschnitt zeigt die allgemeinen Ladedatenanweisungen. Alle verfügbaren Optionen sind im obigen Code aufgeführt.
Konzentrieren wir uns nun auf ein einfaches Beispiel für das einfache Lesen einer CSV-Datei und das Einfügen ihrer Zeilen in eine kompatible Tabelle.
Ein einfaches Beispiel:
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
Ein Beispiel aus der Vogelperspektive mit allen wesentlichen Optionen:
Natürlich muss Ihre CSV-Datei richtig formatiert sein, damit diese Anweisung funktioniert?.
Und voilà, mit der obigen Anweisung wird Ihre CSV-Datei mit mehr als 100.000 Zeilen in Sekundenschnelle in Ihre Tabelle importiert.
Nun einige wichtige Dinge, die Sie beachten sollten:
Die obige Anweisung wird auf MySQL-Ebene ausgeführt, daher werden die Quelldateien vom Client auf den Server kopiert, um sie zu importieren.
Dies wirft einige Sicherheitsprobleme auf. Wir müssen sicherstellen, dass die Client-Server-Verbindung bei der Verwendung dieses Codes gesichert ist.In MySql 8.0 ist die Fähigkeit zur Verwendung von LOCAL standardmäßig auf „Falsch“ gesetzt. Da Ihr Server und Client so konfiguriert sein sollten, dass LOCAL zulässig ist, erhalten einige von Ihnen möglicherweise einen Berechtigungsfehler.
Im Falle eines Berechtigungsfehlers müssen wir ihn überschreiben, indem wir local_infile aktivieren:
SET GLOBAL local_infile = true;
Hinweis: Das Überschreiben dieses Flags ist keine Sicherheitslösung, sondern vielmehr eine Anerkennung dafür, dass Sie die Risiken akzeptieren. Weitere Informationen finden Sie in dieser Dokumentation.
MySql LOAD DATA-Anweisung wird verwendet, um Dateien innerhalb sehr kurzer Zeit zu lesen.
Sie können diesen Code mit jeder Backend-API verwenden, um die Quelldatei bereitzustellen.
Die Quelldatei kann eine beliebige Textdatei sein. In diesem Beispiel haben wir .csv verwendet.
LOAD DATA LOCAL kopiert die Quelldatei über MySql auf Ihren Server, daher sollten serverseitige Sicherheitsmaßnahmen implementiert werden.
Das Dienstprogrammmysqlimport verwendet intern die LOAD DATA-Anweisung.
Sie können die Kopfzeilen in CSV ignorieren, indem Sie in der Anweisung IGNORE 1 LINES hinzufügen.
Offizielle Dokumente
","image":"http://www.luping.net/uploads/20241001/172776132566fb8baddd92a.gif","datePublished":"2024-11-08T04:52:05+08:00","dateModified":"2024-11-08T04:52:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Verwenden Sie immer noch „for“- oder „while“-Schleifen, um Ihre Zeilen zu durchlaufen und sie in Ihre Datenbank einzufügen? Schreiben Sie immer noch separaten Code zum Lesen der CSV-Datei und zum Hochladen in Ihre MySQL-Datenbank?
Sagen Sie „NEIN“ zur linearen Logik mit der von MySQL bereitgestellten „LOAD DATA“-Anweisung. Bereiten Sie sich darauf vor, Ihren Code zu ändern, um sowohl die Zeilen zu minimieren als auch die Leistung drastisch zu steigern.
MySql bietet die LOAD DATA-Anweisung, die eine sehr schnelle Möglichkeit ist, die Daten aus Textdateien zu lesen und sie mit sehr wenig Code in eine Tabelle einzufügen.
Laut den offiziellen Dokumenten von MySQL wird die LOAD DATA-Anweisung verwendet, um Daten sehr schnell aus der Datei zu lesen, und Sie können diese Daten mit einer einzigen Abfrage in Ihre Tabelle einfügen, anstatt mehrmals auf Ihre Datenbank zuzugreifen mit „INSERT INTO“-Abfrage.
MySQL bietet auch eine Anweisung -> „SELECT…INTO OUTFILE“, die genau das Gegenteil von dem tut, was „LOAD DATA“ tut, nämlich die Daten aus der Tabelle in die Datei zu lesen.
Das von MySql bereitgestellte Dienstprogramm mysqlimport ruft intern die LOAD DATA-Anweisung auf dem Server auf, um die Daten zu importieren.
Das obige Kernausschnitt zeigt die allgemeinen Ladedatenanweisungen. Alle verfügbaren Optionen sind im obigen Code aufgeführt.
Konzentrieren wir uns nun auf ein einfaches Beispiel für das einfache Lesen einer CSV-Datei und das Einfügen ihrer Zeilen in eine kompatible Tabelle.
Ein einfaches Beispiel:
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
Ein Beispiel aus der Vogelperspektive mit allen wesentlichen Optionen:
Natürlich muss Ihre CSV-Datei richtig formatiert sein, damit diese Anweisung funktioniert?.
Und voilà, mit der obigen Anweisung wird Ihre CSV-Datei mit mehr als 100.000 Zeilen in Sekundenschnelle in Ihre Tabelle importiert.
Nun einige wichtige Dinge, die Sie beachten sollten:
Die obige Anweisung wird auf MySQL-Ebene ausgeführt, daher werden die Quelldateien vom Client auf den Server kopiert, um sie zu importieren.
Dies wirft einige Sicherheitsprobleme auf. Wir müssen sicherstellen, dass die Client-Server-Verbindung bei der Verwendung dieses Codes gesichert ist.In MySql 8.0 ist die Fähigkeit zur Verwendung von LOCAL standardmäßig auf „Falsch“ gesetzt. Da Ihr Server und Client so konfiguriert sein sollten, dass LOCAL zulässig ist, erhalten einige von Ihnen möglicherweise einen Berechtigungsfehler.
Im Falle eines Berechtigungsfehlers müssen wir ihn überschreiben, indem wir local_infile aktivieren:
SET GLOBAL local_infile = true;
Hinweis: Das Überschreiben dieses Flags ist keine Sicherheitslösung, sondern vielmehr eine Anerkennung dafür, dass Sie die Risiken akzeptieren. Weitere Informationen finden Sie in dieser Dokumentation.
MySql LOAD DATA-Anweisung wird verwendet, um Dateien innerhalb sehr kurzer Zeit zu lesen.
Sie können diesen Code mit jeder Backend-API verwenden, um die Quelldatei bereitzustellen.
Die Quelldatei kann eine beliebige Textdatei sein. In diesem Beispiel haben wir .csv verwendet.
LOAD DATA LOCAL kopiert die Quelldatei über MySql auf Ihren Server, daher sollten serverseitige Sicherheitsmaßnahmen implementiert werden.
Das Dienstprogrammmysqlimport verwendet intern die LOAD DATA-Anweisung.
Sie können die Kopfzeilen in CSV ignorieren, indem Sie in der Anweisung IGNORE 1 LINES hinzufügen.
Offizielle Dokumente
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3