it-swarm.com.de

Mysqldump-Tabellen ohne einige Felder

Gibt es eine Möglichkeit, eine Tabelle ohne Felder zu mysqldumpen?

Lassen Sie mich erklären:
Ich habe eine MySQL-Datenbank namens tests. In tests habe ich 3 Tabellen: USER, TOTO und TATA. Ich möchte nur einige Felder der Tabelle USER mysqldump, also einige Felder wie mail, ip_login Usw. ausschließen.

Wie kann ich das machen?

14
user160293

Versuche dies:

SELECT column1, column2, column10
FROM USER
INTO OUTFILE "c:/user.csv"
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY "\n";

Weitere Optionen finden Sie in der Dokumentationsseite .

13
lg_

Dies kann mit mysqldump nicht direkt durchgeführt werden. Sie können jedoch eine temporäre Tabelle oder eine Ansicht erstellen, die die betreffenden Daten nicht enthält, und dann die resultierenden Daten sichern. Im Fall einer Ansicht müssen Sie wahrscheinlich INTO OUTFILE Anstelle von mysqldump verwenden, um die gewünschten Daten abzurufen. Die Verwendung einer Ansicht anstelle einer temporären Tabelle hat jedoch den Vorteil, dass kein zusätzlicher Speicherplatz belegt wird im DBMS.

Die andere Option besteht darin, einen Parser für die Datei zu erstellen, um die nicht gewünschten Felder zu entfernen. Um es milde auszudrücken, dies kann sehr schnell kompliziert werden - das heißt, es wird kompliziert, vorausgesetzt, Sie möchten einen Parser erstellen, der gegenüber Multibyte-Zeichen, Escape-Trennzeichen usw. usw. robust ist. Aber für das Triviale oder das Eine -time-use case, es kann immer noch eine gültige Option sein.

8
BMDan

Sie können dazu auch Phpmyadmin verwenden. Erstellen Sie eine Abfrage, um die gewünschten Felder auszuwählen, wählen Sie dann die Funktion "Exportieren" am unteren Rand der Seite (dies exportiert Ihre Abfrageergebnisse, nicht die gesamte Tabelle) und wählen Sie die Option "Benutzerdefiniert". Sie können dann SQL als Format auswählen. Wenn Sie möchten, können Sie eine Reihe von UPDATE-Abfragen anstelle von INSERTS erstellen. Kann oft ein schneller Weg sein, um so etwas zu erledigen.

0
Pat

Viele DB-Verwaltungstools können einen benutzerdefinierten Import durchführen. Insbesondere habe ich dies mit Toad for MySQL erreicht, um Daten zwischen Tabellen mit Autoincrement-PKs zu übertragen.

Ich habe ein Abfrageergebnis mit dem Export-Assistenten in Excel gespeichert.

Anschließend können Sie Spalten mit dem Import Wizard) ausschließen, indem Sie das Quellfeld auf: Diese Spalte überspringen setzen

(import wizard

0
rrhartjr