Massen-CSV-Export mit „mysqldump“
Im Bereich der MySQL-Datenverwaltung kann der Export von Tabelleninhalten in das CSV-Format eine entscheidende Aufgabe sein . Während „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 mit „SHOW TABLES“ die Liste der Tabellen 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 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.
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