sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL:export výsledných dat z SQL dotazu do Excelu/CSV

Příklad s názvem souboru ve stylu Unix:

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

Přečtěte si příručku o COPY (odkaz na verzi 8.2).
Musíte použít absolutní cestu pro cílový soubor. Názvy souborů uvádějte do uvozovek s mezerami. Příklad pro MS Windows:

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

V PostgreSQL 8.2 , s standard_conforming_strings = off ve výchozím nastavení musíte zdvojit zpětná lomítka, protože \ je speciální znak a interpretovaný PostgreSQL. Funguje v jakékoli verzi. Vše je v podrobném návodu:

název souboru

Absolutní cesta ke vstupnímu nebo výstupnímu souboru. Uživatelé Windows možná budou muset použít E'' řetězec a dvojitá zpětná lomítka používané jako oddělovače cest.

Nebo moderní syntaxe s standard_conforming_strings = on (výchozí od Postgres 9.1):

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

Nebo můžete také použít lomítka pro názvy souborů pod Windows.

Alternativou je použít meta-příkaz \copy výchozího terminálového klienta psql .

Můžete také použít GUI jako pgadmin a zkopírovat/vložit z výsledkové mřížky do Excelu pro malé dotazy.

Úzce související odpověď:

  • Zkopírujte výsledky ze zobrazení PostgreSQL v jedné DB do tabulky v jiné

Podobné řešení pro MySQL:

  • Export dat MYSQL do Excelu/CSV přes php


  1. SQLite Zobrazit tabulky

  2. Určete pořadí na základě více sloupců v MySQL

  3. Výpočet vzdálenosti mezi PSČ v PHP

  4. Jak velký dopad může mít výběr datového typu?