sql >> Database >  >> RDS >> Mysql

Hoe kan ik MySQL-queryresultaten in CSV-indeling uitvoeren?

Van Sla MySQL-queryresultaten op in een tekst- of CSV-bestand :

SELECT order_id,product_name,qty
FROM orders
WHERE foo = 'bar'
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

Opmerking:die syntaxis moet mogelijk opnieuw worden gerangschikt om

SELECT order_id,product_name,qty
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM orders
WHERE foo = 'bar';

in recentere versies van MySQL.

Met deze opdracht worden kolomnamen niet geëxporteerd.

Merk ook op dat /var/lib/mysql-files/orders.csv staat op de server waarop MySQL draait. De gebruiker onder wie het MySQL-proces wordt uitgevoerd, moet machtigingen hebben om naar de gekozen map te schrijven, anders mislukt de opdracht.

Als u uitvoer naar uw lokale machine wilt schrijven vanaf een externe server (vooral een gehoste of gevirtualiseerde machine zoals Heroku of Amazon RDS ), is deze oplossing niet geschikt.



  1. Geen dialecttoewijzing voor JDBC-type:2003

  2. Een diepgaande blik op Database Indexing

  3. Waarom is CTE beter dan cursor/afgeleide tabel/subquery's/temp-tabel enz.?

  4. Wat is het verschil tussen het gebruik van een cross join en het plaatsen van een komma tussen de twee tabellen?