Moje wymogiem jest przechowywanie całych wyniki kwerendyEksportowanie wyników zapytania Mysql do programu Excel?
SELECT * FROM document
WHERE documentid IN (SELECT * FROM TaskResult WHERE taskResult = 2429)
do pliku Excel.
Moje wymogiem jest przechowywanie całych wyniki kwerendyEksportowanie wyników zapytania Mysql do programu Excel?
SELECT * FROM document
WHERE documentid IN (SELECT * FROM TaskResult WHERE taskResult = 2429)
do pliku Excel.
Typowym sposobem na to jest eksport do pliku CSV, a następnie załadowanie pliku CSV do programu Excel.
Można za pomocą dowolnego narzędzia wiersza poleceń MySQL to zrobić poprzez włączenie klauzuli INTO OUTFILE
na wyciągu SELECT
:
SELECT ... FROM ... WHERE ...
INTO OUTFILE 'file.csv'
FIELDS TERMINATED BY ','
Zobacz this link dla szczegółowych opcji.
Alternatywnie, można użyć mysqldump przechowywać zrzutu w formacie wartości oddzielonych za pomocą opcji --tab patrz this link.
mysqldump -u<user> -p<password> -h<host> --where=jtaskResult=2429 --tab=<file.csv> <database> TaskResult
Dobrym przykładem może być, kiedy okrywać pisania po zakończeniu tego zapytania, jeżeli masz dołącza lub gdy w pobliżu:
select 'idPago','fecha','lead','idAlumno','idTipoPago','idGpo'
union all
(select id_control_pagos, fecha, lead, id_alumno, id_concepto_pago, id_Gpo,id_Taller,
id_docente, Pagoimporte, NoFactura, FacturaImporte, Mensualidad_No, FormaPago,
Observaciones from control_pagos
into outfile 'c:\\data.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n');
OP dotyczył plików Excel, a nie CSV. – Vizkrig
To jest prawdopodobnie to, czego szukał graham.reeds. – MattBianco
Użyj poniższego zapytania:
SELECT * FROM document INTO OUTFILE 'c:/order-1.csv' FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';
W moim przypadku, muszę zrzucić wynik sql do pliku po stronie klienta. Jest to najbardziej typowa sytuacja. Nie masz dostępu do serwera lub nie chcesz zapisywać wyników na serwerze. Problem polega na tym, że masz skomplikowane zapytanie, które trwa przez kilka linii; nie można użyć wiersza poleceń do łatwego zrzutu wyniku do pliku.
mysql -h hostname -d databasename -u username -ppwd -e "mysql simple sql statement that last for less than a line" > outputfile_on_the.client
można umieścić swoją skomplikowaną zapytanie do pliku: longquery_file.sql execute polecenia
mysql -h hn -d dn -u un -ppwd <longquery_file.sql> output.txt
Ten pracował dla mnie. Jedyną trudnością jest dla mnie znak tabulacji, którego czasami używam dla group_cancat (foo SEPARATOR 0x09) w pliku wyjściowym będzie zapisany jako '\ t'. Znak 0x09 to ASCII TAB. Ale ten problem nie dotyczy sposobu, w jaki zrzucamy wyniki sql do pliku. Może to być związane z moim pagerem. Daj mi znać, gdy znajdziesz odpowiedź na ten problem. Zaktualizuję ten post.
To stare pytanie, ale nadal jest to jeden z pierwszych wyników Google. Najszybszym sposobem na to jest połączenie MySQL bezpośrednio do Excela przy użyciu zapytań ODBC lub MySQL for Excel. Ten ostatni został wymieniony w komentarzu do PO, ale czułem, że naprawdę zasługuje na własną odpowiedź, ponieważ eksportowanie do CSV nie jest najskuteczniejszym sposobem osiągnięcia tego.
ODBC Queries - Jest to nieco bardziej skomplikowane w konfiguracji, ale jest o wiele bardziej elastyczne. Na przykład dodatek MySQL For Excel nie pozwala na stosowanie klauzul WHERE
w wyrażeniach zapytań. Elastyczność tej metody pozwala również na wykorzystanie danych w bardziej złożony sposób.
MySQL For Excel - Użyj tego dodatku, jeśli nie potrzebujesz nic skomplikowanego w zapytaniu lub potrzebujesz szybko i łatwo wykonać coś. Możesz tworzyć widoki w bazie danych, aby obejść niektóre z ograniczeń dotyczących zapytań.
Hum ... to trochę mgliste! Jakieś techno, język programowania, ograniczenia, uprzejmość, "styl kodu"? – sp00m
Możesz użyć [Toad for MySQL (Freeware)] (http://www.quest.com/toad-for-mysql), aby to osiągnąć. – DocJones
@Priya, w zależności od przypadku użycia zobacz także oficjalny [MySQL for Excel] (https://www.mysql.com/why-mysql/windows/excel/). – Pacerier