sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:export van resulterende gegevens van SQL-query naar Excel/CSV

Voorbeeld met Unix-stijl bestandsnaam:

COPY (SELECT * FROM tbl) TO '/var/lib/postgres/myfile1.csv' format csv;

Lees de handleiding over COPY (link naar versie 8.2).
Je moet een absoluut pad gebruiken voor het doelbestand. Zorg ervoor dat u bestandsnamen dubbel aanhaalt met spaties. Voorbeeld voor MS Windows:

COPY (SELECT * FROM tbl)
TO E'"C:\\Documents and Settings\\Tech\Desktop\\myfile1.csv"' format csv;

In PostgreSQL 8.2 , met standard_conforming_strings = off standaard moet je backslashes verdubbelen, omdat \ is een speciaal teken en wordt geïnterpreteerd door PostgreSQL. Werkt in elke versie. Het staat allemaal in de fijne handleiding:

bestandsnaam

De absolute padnaam van het invoer- of uitvoerbestand. Windows-gebruikers moeten mogelijk een E'' . gebruiken string en dubbele backslashes gebruikt als padscheidingstekens.

Of de moderne syntaxis met standard_conforming_strings = on (standaard sinds Postgres 9.1):

COPY tbl  -- short for (SELECT * FROM tbl)
TO '"C:\Documents and Settings\Tech\Desktop\myfile1.csv"' (format csv);

Of u kunt onder Windows ook slashes gebruiken voor bestandsnamen.

Een alternatief is om het meta-commando \copy . te gebruiken van de standaard terminalclient psql .

Je kunt ook een GUI gebruiken zoals pgadmin en kopiëren/plakken van het resultatenraster naar Excel voor kleine zoekopdrachten.

Nauw verwant antwoord:

  • Kopieer resultaten van een PostgreSQL-weergave in de ene DB naar een tabel in een andere

Vergelijkbare oplossing voor MySQL:

  • MYSQL-gegevens exporteren naar Excel/CSV via php


  1. De Oracle Warehouse Builder 11g R2-client installeren

  2. Leer de MySQL-database gebruiken

  3. Hoe maak ik een reeks in MySQL?

  4. Hoeveel impact kan een datatypekeuze hebben?