Mysqldump-Tabellen ohne einige Felder

14

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

Lassen Sie mich erklären:
Ich habe eine MySQL-Datenbank namens tests. In testsIch habe 3 Tabellen: USER, TOTOund TATA. Ich möchte nur einige Felder der Tabelle mysqldump USER, so ohne einige Felder wie mail, ip_loginusw.

Wie kann ich das machen?

Matte
quelle

Antworten:

13

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 auf der Dokumentationsseite .

lg_
quelle
8

Dies ist mit mysqldump nicht direkt möglich. Sie können jedoch eine temporäre Tabelle oder eine Ansicht erstellen, die die fraglichen Daten nicht enthält, und dann die resultierenden Daten sichern. Im Fall einer Ansicht müssen Sie, glaube ich, INTO OUTFILEnicht mysqldump verwenden, um die gewünschten Daten abzurufen, aber die Verwendung einer Ansicht anstelle einer temporären Tabelle hat den Vorteil, dass im DBMS kein zusätzlicher Speicherplatz belegt wird.

Die andere Option besteht darin, einen Parser für die Datei zu erstellen, um die nicht gewünschten Felder zu entfernen. Kurz gesagt, dies kann sehr schnell kompliziert werden - das heißt, es wird kompliziert, wenn Sie einen Parser erstellen möchten, der gegenüber Multibyte-Zeichen, Trennzeichen mit Escape-Zeichen usw. usw. robust ist In diesem Fall ist es möglicherweise immer noch eine gültige Option.

BMDan
quelle
0

Sie können dazu auch Phpmyadmin verwenden. Erstellen Sie eine Abfrage, um die gewünschten Felder auszuwählen, und wählen Sie dann die Funktion "Exportieren" am unteren Rand der Seite aus (dies exportiert Ihre Abfrageergebnisse, nicht die gesamte Tabelle). Wählen Sie dann 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.

Klopfen
quelle
0

Viele DB-Admin-Tools können benutzerdefinierte Importe durchführen. Insbesondere habe ich dies mithilfe von Toad for MySQL erreicht, um Daten mit Autoincrement-PKs zwischen Tabellen zu übertragen.

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

Anschließend können Sie Spalten mit dem Import-Assistenten ausschließen, indem Sie das Quellfeld auf Folgendes festlegen: Diese Spalte überspringen

Import-Assistent

rrhartjr
quelle