Jak wyeksportować tabelę do CSV w MySQL

Plik CSV jest bardzo popularnym formatem pliku tekstowego, który jest obsługiwany przez wiele aplikacji. Pełna forma CSV to Comma-Separated Values. Oznacza to, że dane są oddzielone przecinkiem w każdej linii tego pliku. Jest on głównie używany do wymiany danych tabelarycznych pomiędzy różnymi typami aplikacji, które obsługują ten format pliku. XML jest kolejnym formatem pliku, który jest powszechnie używany do wymiany danych między aplikacjami. Ale plik CSV jest lepszą opcją niż plik XML, ponieważ zajmuje mniej miejsca i przepustowości niż plik XML. Musisz wyeksportować dane w formacie CSV z jednej aplikacji przed zaimportowaniem ich do innej aplikacji. MySQL obsługuje różne sposoby eksportu danych z tabel bazy danych. Format CSV jest jednym z nich. Ten artykuł przedstawia różne sposoby eksportu danych w formacie CSV z bazy danych MySQL.

Wymagania wstępne:

Przed uruchomieniem polecenia eksportu, musisz utworzyć nową bazę danych oraz tabele lub wybrać istniejącą bazę danych oraz tabele. Wykonaj poniższe polecenia, aby utworzyć bazę danych biblioteki oraz trzy tabele o nazwach books, borrowers oraz book_borrow_info.

Wykonaj poniższe polecenia SQL, aby wstawić dane do trzech tabel.

Każdy wyeksportowany plik przechowywany jest w określonej lokalizacji w MySQL, a lokalizacja ta przechowywana jest w zmiennej „secure_file_priv”. Uruchom poniższe polecenie, aby poznać ścieżkę dostępu do pliku. Jest to zmienna tylko do odczytu, której nie możesz zmienić.

SHOW VARIABLES LIKE „secure_file_priv”;

Lokalizacja pliku to '/var/lib/mysql-files/’. Musisz użyć tej lokalizacji podczas uruchamiania polecenia export.

Eksport danych w formacie CSV za pomocą instrukcji INTO OUTFILE:

Każda tabela bazy danych może zostać wyeksportowana za pomocą instrukcji INTO OUTFILE. Załóżmy, że chcę wyeksportować dane z tabeli books. Wykonaj następujące polecenie, aby sprawdzić istniejące dane tej tabeli.

SELECT * FROM books;

Dowolna nazwa pliku z rozszerzeniem .csv może być ustawiona jako nazwa pliku eksportu. Uruchom poniższe polecenie eksportu, aby utworzyć plik books.csv w lokalizacji,/var/lib/mysql-files/.

SELECT title, author, publisher FROM books INTO OUTFILE '/var/lib/mysql-files/books.csv’;

Przejdź do lokalizacji eksportu, aby sprawdzić, czy plik jest tworzony na nie. Kliknij na plik, aby wyświetlić jego zawartość. Jeśli przecinek występuje jako zawartość dowolnego pola w tabeli, wówczas rozdzieli on wartość na wiele wartości. W tabeli książki, pole wydawca zawiera przecinek(,) jako treść w trzecim rekordzie. Jeśli przeanalizujesz zawartość pliku CSV zobaczysz, że zawartość pola publisher jest rozdzielona na dwie wartości, które nie są właściwe.

Aby rozwiązać powyższy problem, możesz wyeksportować dane z tabeli books do pliku CSV poprzez prawidłowe określenie niezbędnych delimiterów w instrukcji SQL. Uruchom poniższe polecenie, aby odpowiednio wyeksportować tabelę books do pliku books2.csv. Do prawidłowego eksportu danych używane są trzy delimitery. Są to FIELDS TERMINATED BY, ENCLOSED BY i LINES TERMINATED BY.

Jeśli otworzysz plik books2.csv to zobaczysz, że poprzedni problem został rozwiązany w tym pliku i dane po przecinku(,) nie są podzielone na wiele wartości.

Eksport danych w formacie CSV za pomocą klienta mysql:

Dane z tabeli można wyeksportować do pliku CSV za pomocą klienta mysql. The borrowers table is exported in this part of this article. Run the following command to check the existing content of this table.

SELECT * FROM borrowers;

mysql statement with `sed` command is used here to export the data. One of the benefits of this statement is that you can set any location and filename for storing the CSV file without the default location that is used in the previous example. If there is no password for the root user then -p option will be omitted. The exported location is /tmp and filename is output.csv here.

mysql -h localhost -u root -p -e 'select * from library.borrowers’ |
sed 's/\t/,/g’ > /tmp/output.csv

If you open the output.csv pojawi się następujący plik wyjściowy.

Eksport danych w formacie CSV za pomocą phpmyadmin:

Tabele bazy danych mogą zostać wyeksportowane do pliku CSV w bardzo prosty sposób za pomocą dowolnego narzędzia administracyjnego. Musisz zainstalować narzędzie przed wykonaniem eksportu. phpmyadmin jest tutaj używany do eksportu tabeli do pliku CSV. Nazwa wyeksportowanego pliku będzie nazwą tabeli. Uruchom następujący URL w dowolnej przeglądarce, aby wyświetlić listę istniejących baz danych serwera MySQL.

Wybierz tabelę bazy danych, którą chcesz wyeksportować i kliknij na zakładkę Eksport z prawej strony. Wybierz format CSV z listy rozwijanej Format i kliknij na przycisk Przejdź. Zaznaczamy opcję Zapisz plik i naciskamy przycisk OK.


Plik zostanie pobrany do folderu Pobrane. Tutaj eksportowana jest tabela book_borrow_info. Nazwa pliku CSV będzie więc brzmiała book_borrow_info.csv, a po otwarciu pliku pojawi się następująca zawartość.

Wniosek:

Zadanie wymiany danych między aplikacjami staje się łatwiejsze dzięki wykorzystaniu funkcji eksportu serwera bazy danych. MySQL obsługuje wiele innych formatów plików do eksportu danych tabel. Format sql jest głównie używany do przesyłania danych pomiędzy tymi samymi serwerami baz danych. Format CSV jest bardzo pomocny, jeśli chcesz wymieniać dane pomiędzy dwoma różnymi aplikacjami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.