Heim >Datenbank >MySQL-Tutorial >Wie kann ich alle MySQL-Tabellen mit „mysql' und „sed' massenhaft in CSV-Dateien exportieren?
Massen-CSV-Export mit „mysqldump“
Im Bereich der MySQL-Datenverwaltung kann der Export von Tabelleninhalten in das CSV-Format eine entscheidende Aufgabe sein . Obwohl „mysqldump“ ein leistungsstarkes Dienstprogramm für Datenbanksicherungen ist, fehlt die Option, jede Tabelle ausschließlich als CSV zu exportieren. In diesem Artikel wird ein alternativer Ansatz untersucht, um dies mithilfe einer Kombination aus „MySQL“ und Nachbearbeitung zu erreichen.
„MySQL“ mit „-B“-Parameter
Der Knackpunkt Unsere Lösung liegt in der Nutzung des Parameters „-B“ im Dienstprogramm „mysql“. Dieser Parameter weist das Programm an, Ergebnisse in einem tabulatorgetrennten Format anzuzeigen. Indem wir die Ausgabe über „sed“ weiterleiten, können wir die Daten weiter manipulieren, um eine CSV-Datei mit Headern zu erstellen.
Bash-Skript-Iteration
Um alle Tabellen in eine zu exportieren In einer Datenbank können wir ein Bash-Skript verwenden, um die Liste der Tabellennamen zu durchlaufen. Ein Ansatz besteht darin, die folgenden Befehle zu kombinieren:
mysql -u username -ppassword dbname -sN -e "SHOW TABLES;" | \ for tb in $(mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"); do mysql -B -u username -p password database -h dbhost -e "SELECT * FROM $tb;" \ | sed “s/”/\””/g;s/'/\'/;s/\t/\”,\”/g;s/^/\”/;s/$/\”/;s/\n//g” > "$tb.csv" done
Dieses Skript ruft zunächst die Liste der Tabellen mit „SHOW TABLES“ ab und speichert sie in der Variablen „tb“. Anschließend wird jeder Tabellenname durchlaufen und eine „SELECT *“-Abfrage mit dem Parameter „-B“ ausgeführt. Die resultierende Ausgabe wird von „sed“ verarbeitet und in einer CSV-Datei gespeichert, die nach der Tabelle benannt ist.
Fazit
Durch die Kombination des Parameters „-B“ von „mysql ' und 'sed' Nachbearbeitung können wir alle Tabellen in einer MySQL-Datenbank effektiv in das CSV-Format exportieren. Dieser Ansatz umgeht die Einschränkungen von „mysqldump“ und bietet eine größere Flexibilität bei der Bearbeitung der Ausgabedaten.
Das obige ist der detaillierte Inhalt vonWie kann ich alle MySQL-Tabellen mit „mysql' und „sed' massenhaft in CSV-Dateien exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!