Czy ktoś może wyjaśnić, jak zaimportować plik Microsoft Excel do bazy danych MySQL?
Na przykład moja tabela programu Excel wygląda następująco:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Odpowiedzi:
Wyeksportuj go do jakiegoś formatu tekstowego. Najłatwiejsza będzie prawdopodobnie wersja rozdzielana tabulatorami, ale CSV też może działać.
Użyj funkcji ładowania danych. Zobacz http://dev.mysql.com/doc/refman/5.1/en/load-data.html
Spójrz do połowy strony, bo to dobry przykład dla danych rozdzielonych tabulatorami:
POLA ZAKOŃCZONE PRZEZ „\ t” OBJĘTE PRZEZ „UCIECZKA PRZEZ„ \ ”
Sprawdź swoje dane. Czasami cytowanie lub ucieczka powoduje problemy i musisz dostosować źródło, polecenie importu - lub po prostu może być łatwiejsze przetwarzanie końcowe przez SQL.
źródło
Istnieje proste narzędzie online, które może to zrobić, o nazwie sqlizer.io .
Prześlij do niego plik XLSX, wprowadź nazwę arkusza i zakres komórek, a wygeneruje on instrukcję CREATE TABLE i kilka instrukcji INSERT, aby zaimportować wszystkie dane do bazy danych MySQL.
(Zastrzeżenie: pomagam uruchomić SQLizer)
źródło
Poniżej znajduje się inna metoda importowania danych z arkusza kalkulacyjnego do bazy danych MySQL, która nie wymaga żadnego dodatkowego oprogramowania. Załóżmy, że chcesz zaimportować tabelę programu Excel do
sales
tabeli bazy danych MySQL o nazwiemydatabase
.Wybierz odpowiednie komórki:
Wklej do Mr. Data Converter i wybierz wyjście jako MySQL:
Zmień nazwę tabeli i definicje kolumn, aby dopasować je do swoich wymagań w wygenerowanym wyniku:
CREATE TABLE sales ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Country VARCHAR(255), Amount INT, Qty FLOAT ); INSERT INTO sales (Country,Amount,Qty) VALUES ('America',93,0.60), ('Greece',9377,0.80), ('Australia',9375,0.80);
Jeśli używasz MySQL Workbench lub jesteś już zalogowany
mysql
z wiersza poleceń, możesz wykonać wygenerowane instrukcje SQL bezpośrednio z kroku 3. W przeciwnym razie wklej kod do pliku tekstowego (np.import.sql
) I wykonaj następujące polecenie z powłoki Unix:mysql mydatabase < import.sql
Inne sposoby importowania z pliku SQL można znaleźć w tej odpowiedzi na temat przepełnienia stosu .
źródło
W rzeczywistości istnieje kilka sposobów importowania pliku Excela do bazy danych MySQL o różnym stopniu złożoności i powodzeniu.
Excel2MySQL . Bez wątpienia najłatwiejszy i najszybszy sposób importowania danych Excela do MySQL. Obsługuje wszystkie wersje programu Excel i nie wymaga instalacji pakietu Office.
LOAD DATA INFILE : Ta popularna opcja jest prawdopodobnie najbardziej techniczna i wymaga pewnego zrozumienia wykonywania poleceń MySQL. Musisz ręcznie utworzyć tabelę przed załadowaniem i użyć odpowiednich typów pól VARCHAR. Dlatego typy danych pól nie są zoptymalizowane. LOAD DATA INFILE ma problem z importowaniem dużych plików, które przekraczają rozmiar „max_allowed_packet”. Należy zwrócić szczególną uwagę, aby uniknąć problemów z importowaniem znaków specjalnych i obcych znaków Unicode. Oto ostatni przykład, którego użyłem do zaimportowania pliku csv o nazwie test.csv.
phpMyAdmin : Najpierw wybierz bazę danych, a następnie wybierz kartę Importuj. phpMyAdmin automatycznie utworzy tabelę i dostosuje rozmiar pól VARCHAR, ale nie zoptymalizuje typów pól. phpMyAdmin ma problem z importowaniem dużych plików, które przekraczają rozmiar „max_allowed_packet”.
MySQL dla programu Excel : jest to bezpłatny dodatek do programu Excel firmy Oracle. Ta opcja jest trochę uciążliwa, ponieważ używa kreatora, a importowanie jest powolne i błędne w przypadku dużych plików, ale może to być dobra opcja w przypadku małych plików z danymi VARCHAR. Pola nie są zoptymalizowane.
źródło
Nie jestem pewien, czy masz całą tę konfigurację, ale dla mnie używam PHP i MYSQL. Więc używam PHPExcel klasy PHP. Pobiera to plik w prawie każdym formacie, xls, xlsx, cvs, ... a następnie pozwala na odczyt i / lub wstawienie.
Więc to, co robię, to ładowanie programu Excel do obiektu phpexcel, a następnie zapętlanie wszystkich wierszy. Na podstawie tego, czego chcę, piszę proste polecenie wstawiania SQL, aby wstawić dane z pliku Excela do mojej tabeli.
Na początku jest to trochę pracy, ale to tylko kwestia poprawienia niektórych istniejących przykładów kodu. Ale kiedy już go wybierzesz, wprowadzanie zmian w imporcie jest proste i szybkie.
źródło
Najlepszym i najłatwiejszym sposobem jest użycie aplikacji „MySQL for Excel”, która jest bezpłatną aplikacją firmy Oracle. ta aplikacja dodała wtyczkę do programu Excel do eksportowania i importowania danych do mysql. możesz to pobrać stąd
źródło
Używając plików tekstowych do importowania danych, miałem problemy z cudzysłowami i formatowaniem liczb w programie Excel. Na przykład moja konfiguracja programu Excel używała przecinka jako separatora dziesiętnego zamiast kropki.
Teraz używam Microsoft Access 2010 do otwierania mojej tabeli MySql jako tabeli połączonej. Tam mogę po prostu skopiować i wkleić komórki z programu Excel do programu Access.
Aby to zrobić, najpierw zainstaluj sterownik MySql ODBC i utwórz połączenie ODBC . Następnie w programie Access, na karcie „Dane zewnętrzne”, otwórz okno dialogowe „Baza danych ODBC” i połącz się z dowolną tabelą za pomocą połączenia ODBC.
Korzystając z MySql Workbench , możesz także skopiować i wkleić dane Excela do siatki wyników MySql Workbench. W tej odpowiedzi podałem szczegółowe instrukcje .
źródło
Aby zapoznać się z przykładem krok po kroku importowania programu Excel 2007 do MySQL z poprawnym kodowaniem (UTF-8), wyszukaj ten komentarz:
„Wysłane przez: Mike Laird, 13 października 2010 r., 00:50”
w następnym adresie URL:
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
źródło
Możesz użyć DocChow , bardzo intuicyjnego GIU do importowania Excela do MySQL i jest darmowy na większości popularnych platform (w tym Linux).
W szczególności, jeśli martwisz się o typy danych typu data, data i godzina , DocChow z łatwością obsługuje typy danych. Jeśli pracujesz z wieloma arkuszami kalkulacyjnymi Excel, które chcesz zaimportować do jednej tabeli MySQL, DocChow wykonuje brudną robotę.
źródło
Krok 1 Utwórz plik CSV
Krok 2 Zaloguj się do swojego serwera mysql
Krok 3 Załaduj swój plik CSV
load data local infile '//home/my-sys/my-excel.csv' into table my_tables fields terminated by ',' enclosed by '"' (Country, Amount,Qty);
źródło
Innym przydatnym narzędziem, jako zamiennik interfejsu MySQL, jest Toad for MySQL . Niestety nie jest już obsługiwany przez Quest , ale genialne IDE dla MySQL, z kreatorami IMPORT i EKSPORT, obsługujące większość typów plików.
źródło