Generowanie pliku csv na podstawie tabeli w bazie danych

Format CSV jest prostym sposobem przechowywania danych w pliku tekstowym. Polega na zapisie kolejnych wartości wierszy pobranych z arkusza kalkulacyjnego bądź z bazy danych odzielając je określonym separatorem (najczęściej jest to przecinek bądź średnik). Wygenerowany plik CSV często zawiera w pierwszym wierszu nazwy kolumn. MySql dzięki funkcji „Concat_Ws” pomaga w trywialny sposób zwrócić dane sformatowane dane do postaci pliku csv.

Utworzyłem tabelę „person” której strukturę wraz z przykładowymi danymi prezentuję poniżej:

Tabela do wygenerowania pliku csv

Oczekiwana postać pliku to – linia pierwsza reprezentująca nazwy kolumn, kolejne linie zawierające pobrane dane jako separator zostanie użytyh przecinek.

Zapytanie formatujące dane:

SELECT CONCAT_WS(',', name, surname, age) AS 'Imię, Nazwisko, Wiek' FROM person

Funkcja „Concat_Ws” jako jeden z argumentów przyjmuje separator którym oddzieli zwracane wyniki. Nazwa kolumny w zapytaniu jest odpowiednikiem pierwszego wiersza
z pliku csv.

Wynik zapytania:

Wynik zapytania

Wewnątrz skryptu tworzącego csv wystarczy już tylko przeiterować po otrzymanych wynikach zapisując je do oczekiwanego pliku. :)

  1. Na razie brak komentarzy.

  1. Na razie brak trackbacków