Od XLS do CSV – szybki wsad do bazy danych MySQL

komputerek_mysqlSą takie sytuacje gdy wymagane jest wykonanie szybkiego wsadu danych do tabeli. Oczywiście można na prędce stworzyć odpowiedni skrypt PhP, który przetworzy dane wsadowe do postaci zapytań SQL. Jednak nie zawsze ma to uzasadnienie i nie zawsze ilość czasu jest wystarczająca na stworzenie takiego mechanizmu.

Właśnie w takich sytuacjach przydatna może być komputerekkombinacja dwóch narzędzi: phpMyadmin i … to nie żart Ms Excel. Arkusz kalkulacyjny posłuży nam jako narzędzie do preparowania odpowiednio sformatowanego pliku CSV. Phpmyadmin posłuży nam natomiast do wykonania natychmiastowego wsadu do bazy.

wsad1

Na potrzeby tego tutorialu stworzę wirtualną potrzebę wykonania wsadu do tabeli o poniższym wyglądzie

id_kw (int) AUTO_INCREMENT
name (varchar)
cond (int)

Jako wsad wykorzystany będzie plik xls zwierający kilkaset słów kluczowych.
W pierwszej kolejności wymagane jest odpowiednie sformatowanie pliku xls, do takiej postaci odzwierciedlającej strukturę tabeli. Pierwsza kolumna musi pozostać pusta – jest to kolumna odpowiadająca polu identyfikatora id_kw. W trzeciej kolumnie możemy dodać wartość początkową pola cond, lub pozostawić ją pustą w przypadku, gdy w strukturze tabeli określona jest wartość domyślna. Ja pozostawiam to pole puste.

Kolejnym etapem jest dodanie obrysu do wszystkich komórek arkusza odpowiadających wartościom pól tabeli. Zaznaczcie w Excelu „zawartość” tabeli a następnie zwykły obrys, efekt powinien być taki jak poniżej.

wsad2

Na tym etapie może Was nieco dziwić to postępowanie jednak za chwilę zrozumiecie sens takiego działania. Zapiszcie bieżącą postać jako plik csv rozdzielany przecinkami (czytajcie uważnie pytania zadawane przez Excel i odpowiadajcie mądrze :D).

Otrzymany plik otwórzcie za pomocą jakiegoś edytora (najlepiej takiego który pozwala kontrolować kodowanie znaków). Pierwsze co pewnie zauważycie to fakt, że CSV rozdzielany przecinkami … jest rozdzielany średnikami (szczegół :D ). Obrysowanie dodatkowej pustej kolumny spowodowało, że po słowach kluczowych pojawił się dodatkowy średnik, który odpowiada polu cond.

Plik w obecnej postaci nie pozwoli Wam wykonać prawidłowego wsadu, jego kodowanie jest w ANSI. Przy bazie danych z kodowaniem UTF spowoduje oczywiście błędne wyświetlanie polskich krzaczków. Zmieńcie kodowanie znaków w pliku i zapiszcie go ponownie.

Przejdźmy teraz do phpMyadmina w którym wykonamy właściwy import danych. Wybierzcie odpowiednią tabele z bazy danych a następnie naciśnijcie zakładkę Import. W polu format wybierzcie CSV. Następnie musicie zmienić dolne opcje – Kolumny oddzielone: ustawcie ; . Pozostałe opcje możecie zostawić bez zmian. Naciśnijcie przycisk wykonaj … tabela zostanie wypełniona danymi. I gotowe … prawda, że szybko!

Znaczniki: , , , ,

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


6 × jeden =

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>