Mysql-Lösung zum Laden verstümmelter Daten: 1. Suchen Sie die verstümmelte SQL-Anweisung. 2. Ändern Sie die Anweisung in „LOAD DATA LOCAL INFILE „employee.txt“ INTO TABLE EMPLOYEE Zeichensatz utf8;“.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, MySQL Version 5.7, Dell G3-Computer.
Was soll ich tun, wenn die MySQL-Ladedaten verstümmelt sind?
Lösen Sie das Problem verstümmelter chinesischer Daten, die von MySQL mit LOAD importiert werden.
Angenommen, die Daten im Text „employee.txt“ werden in die Tabelle EMPLOYEE importiert.
verstümmelte SQL-Anweisungen werden angezeigt
LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE;
Verwandte Erweiterungen:
1. Verwenden Sie die Load-Anweisung, um Daten zu importieren
Hier ist eine kurze Zusammenfassung des Load-Befehls.
Verwenden Sie nach der Eingabe von MySQL den Befehl:
LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE character set utf8;
Die Syntax der Anweisung lautet wie folgt:
Grundlegende Syntax:
load data local infile 'S:/tab_user.txt' into table tab_user lines terminated by '\r\n' ignore 1 lines;
Erklärung des Syntaxteils:
Die Anweisung „load data infile“ liest eine Tabelle aus einer Textdatei bei einer sehr hohen Geschwindigkeitsmitte. Bevor Sie diesen Befehl verwenden, muss der mysqld-Prozess (Dienst) ausgeführt werden.
Aus Sicherheitsgründen muss beim Lesen einer auf dem Server befindlichen Textdatei die Datei im Datenbankverzeichnis liegen oder für jedermann lesbar sein.
Um das Laden von Daten in die Datei auf dem Server verwenden zu können, müssen Sie außerdem über Dateiberechtigungen auf dem Serverhost verfügen.
(1) Wenn Sie das Schlüsselwort low_priority angeben, wartet MySQL, bis niemand sonst diese Tabelle liest, bevor es Daten einfügt. Sie können den folgenden Befehl verwenden:
Daten mit niedriger Priorität in Datei „S:/tab_user.txt“ in Tabelle tab_user laden;
2) Wenn Sie das lokale Schlüsselwort angeben, bedeutet dies, dass die Datei vom Client-Host gelesen wird. Wenn „local“ nicht angegeben ist, muss sich die Datei auf dem Server befinden.
(3) Ersetzen und Ignorieren von Schlüsselwörtern steuern die Duplizierungsverarbeitung vorhandener eindeutiger Schlüsseldatensätze. Wenn Sie „replace“ angeben, ersetzt die neue Zeile die vorhandene Zeile mit demselben eindeutigen Schlüsselwert. Wenn Sie „Ignorieren“ angeben, wird die Eingabe doppelter Zeilen für vorhandene Zeilen mit eindeutigen Schlüsseln übersprungen. Wenn Sie keine der beiden Optionen angeben, tritt ein Fehler auf, wenn ein doppelter Schlüssel gefunden wird, und der Rest der Textdatei wird ignoriert. Zum Beispiel:
Daten mit niedriger Priorität in die Datei „S:/tab_user.txt“ laden, ersetzen
in die Tabelle tab_user;
(4), Trennzeichen
(a) Das Schlüsselwort „fields“ gibt das Aufteilungsformat von Dateisegmenten an, wenn es verwendet wird Kommt es zu diesem Schlüsselwort, hofft der MySQL-Profiler, mindestens eine der folgenden Optionen zu sehen:
terminated by delimiter: Es bedeutet, welches Zeichen als Trennzeichen verwendet wird
eingeschlossen durch Feldklammerzeichen
escaped durch Escape-Zeichen
abgeschlossen durch beschreibt das Trennzeichen des Feldes, das standardmäßig das Tabulatorzeichen (t) ist, eingeschlossen durch beschreibt das Klammerzeichen des Feldes.
durch das beschriebene Escape-Zeichen entkommen. Der Standardwert ist Backslash (Backslash: )
Zum Beispiel: Daten in Datei „S:/tab_user.txt“ laden, in Tabelle ersetzen tab_user (id, name) beendet durch',' ignoriere 1 Zeilen;(, als Trennzeichen)
( b) Das Schlüsselwort „lines“ gibt das Trennzeichen jedes Datensatzes an. Der Standardwert ist „n“, also das Zeilenumbruchzeichen.
Wenn beide Felder angegeben sind, müssen die Felder vor den Zeilen stehen. Wenn Sie das Schlüsselwort „fields“ nicht angeben, ist der Standardwert derselbe, als hätten Sie Folgendes geschrieben: Felder, die mit „t“ abgeschlossen sind, werden von „'' umschlossen und von „\“ maskiert.
Wenn Sie keine Zeilenklausel angeben, ist dies der Standardwert Der Wert ist derselbe, als ob Das Gleiche, was Sie so schreiben: Zeilen, die mit „n“ abgeschlossen sind. /n';
(5) , Daten in die Datei laden kann Dateien entsprechend den angegebenen Spalten in die Datenbank importieren. Wenn wir einen Teil der Daten importieren möchten, müssen wir einige Spalten (Spalten/Felder/Felder) zur MySQL-Datenbank hinzufügen, um einige zusätzliche Anforderungen zu erfüllen. Wenn wir beispielsweise von einer Access-Datenbank auf eine MySQL-Datenbank aktualisieren möchten
Das folgende Beispiel zeigt, wie Daten in eine bestimmte Spalte (ein bestimmtes Feld) importiert werden:
Laden Sie die Daten in der Datei „s:/tab_user.txt“ in die Tabelle tab_user ( id, name);
(6). Bei der Suche nach Dateien auf dem Server-Host verwendet der Server die folgenden Regeln:
(a) Wenn ein absoluter Pfadname angegeben wird, verwendet der Server diesen Pfadnamen.
(b) Wenn ein relativer Pfadname mit einer oder mehreren vorangehenden Komponenten angegeben wird, sucht der Server nach der Datei relativ zum Datenverzeichnis des Servers.
(c) Wird ein Dateiname ohne Präfix angegeben, sucht der Server nach der Datei im Datenbankverzeichnis der aktuellen Datenbank.
Zum Beispiel: Die als „/myfile txt“ angegebene Datei wird aus dem Datenverzeichnis des Servers gelesen, und eine als „myfile txt“ angegebene Datei wird aus dem Datenbankverzeichnis der aktuellen Datenbank gelesen.
Empfohlenes Lernen: „
MySQL-Video-Tutorial》
Das obige ist der detaillierte Inhalt vonWas tun, wenn die MySQL-Ladedaten verstümmelt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!