Tabele Mysqldump z wyłączeniem niektórych pól

14

Czy istnieje sposób na mysqldump tabeli bez niektórych pól?

Pozwól mi wyjaśnić:
mam bazę danych MySQL o nazwie tests. W testsmam 3 tabele: USER, TOTOi TATA. Chcę tylko mysqldump niektóre pola tabeli USER, tak jak za wyjątkiem niektórych pól mail, ip_loginitp

W jaki sposób mogę to zrobić?

Mata
źródło

Odpowiedzi:

13

Spróbuj tego:

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

Aby uzyskać więcej opcji, przeczytaj stronę dokumentacji .

lg_
źródło
8

Nie można tego zrobić bezpośrednio za pomocą mysqldump. Można jednak utworzyć tabelę tymczasową lub widok, który nie zawiera danych, a następnie zrzucić dane wynikowe. W przypadku widoku myślę, że będziesz musiał użyć INTO OUTFILEzamiast mysqldump, aby uzyskać pożądane dane, ale użycie widoku zamiast tabeli tymczasowej ma tę zaletę, że nie zajmuje dodatkowego miejsca w DBMS.

Inną opcją jest utworzenie parsera dla pliku w celu usunięcia niepotrzebnych pól. Mówiąc delikatnie, może się to bardzo szybko skomplikować - to znaczy, że będzie to skomplikowane, zakładając, że chcesz utworzyć parser, który jest solidny w obliczu znaków wielobajtowych, separatorów ciągów znaków itp. Itd. Ale dla trywialnych lub - przypadek użycia w czasie, wciąż może być prawidłową opcją.

BMDan
źródło
0

Możesz również użyć do tego Phpmyadmin. Utwórz zapytanie, aby wybrać żądane pola, a następnie wybierz funkcję „eksportuj” u dołu strony (spowoduje to wyeksportowanie wyników zapytania, a nie całej tabeli), a następnie wybierz opcję „Niestandardowe”. Następnie możesz wybrać SQL jako swój format - jeśli chcesz, możesz utworzyć serię zapytań UPDATE zamiast INSERTS. Często może to być szybki sposób na zrobienie czegoś takiego.

Poklepać
źródło
0

Wiele narzędzi administratora DB ma możliwość niestandardowego importu. W szczególności osiągnąłem to za pomocą Toad for MySQL do przesyłania danych między tabelami przy użyciu automatycznych przyrostów PK.

Zapisałem wynik zapytania w Excelu za pomocą Kreatora eksportu.

Następnie możesz wykluczyć kolumny za pomocą Kreatora importu, ustawiając pole źródłowe na: Pomiń tę kolumnę

kreator importu

rrhartjr
źródło