sql >> Database >  >> RDS >> PostgreSQL

Hoe een CSV-bestand in PostgreSQL te importeren

Vaak moet u een CSV-bestand in de PostgreSQL-tabel importeren voor query's en analyse. Hier leest u hoe u het CSV-bestand in PostgreSQL importeert, samen met de koptekst. We gebruiken kopie commando om CSV in PostgreSQL te importeren.

Hoe een CSV-bestand in PostgreSQL te importeren

Hier zijn de stappen om het CSV-bestand in PostgreSQL te importeren. Nadat u het CSV-bestand met koptekst in PostgreSQL hebt geïmporteerd, wilt u wellicht een postgresql-rapportagetool gebruiken om uw PostgreSQL-tabel te doorzoeken en ervoor te zorgen dat alles goed werkt.

1. Tabel maken

Eerst zullen we een PostgreSQL-tabel maken om CSV te importeren. Stel dat u een CSV-bestand wilt importeren dat 2 velden heeft:order_date, sale

We maken een verkoop (order_date, sale) tabel met psql.

postgres=# create table sales(order_date date, sale int);

Bonus lezen:hoe u de groei van maand tot maand in PostgreSQL kunt berekenen

2. CSV-bestand importeren in PostgreSQL

Vervolgens importeren we het csv-bestand in PostgreSQL met behulp van copy commando.

CSV-bestand importeren zonder koptekst in PostgreSQL

We hebben het volgende sales.csv-bestand. Gebruik enkele/dubbele aanhalingstekens voor datumwaarden in uw CSV-bestand, anders krijgt u een foutmelding.

'2020-01-01',15
'2020-01-02',25
'2020-01-03',34
'2020-01-04',22
'2020-01-05',30
postgres=# COPY sales FROM 'c:/files/sales.csv' WITH (FORMAT csv);

postgres=# select * from sales;
 order_date | sale
------------+------
 2020-01-01 |   15
 2020-01-02 |   25
 2020-01-03 |   34
 2020-01-04 |   22
 2020-01-05 |   30

Bonus lezen:een draaitabel maken in PostgreSQL

CSV-bestand importeren met koptekst in PostgreSQL

In dit geval hebben we het volgende sales.csv-bestand met header. Gebruik enkele/dubbele aanhalingstekens voor datumwaarden in uw CSV-bestand, anders krijgt u een foutmelding.

order_date,sale
'2020-01-01',15
'2020-01-02',25
'2020-01-03',34
'2020-01-04',22
'2020-01-05',30
postgres=# \COPY sales FROM 'c:/files/sales.txt' DELIMITER ',' CSV HEADER;

postgres=# select * from sales;
 order_date | sale
------------+------
 2020-01-01 |   15
 2020-01-02 |   25
 2020-01-03 |   34
 2020-01-04 |   22
 2020-01-05 |   30

Bonus Lezen:Retentiepercentage berekenen in SQL

U kunt dezelfde zoekopdrachten gebruiken met CSV- of TXT-bestanden. Houd er rekening mee dat u mogelijk superuser-rechten nodig heeft om CSV met koptekst te importeren. Daarom gebruiken we \COPY in plaats van alleen COPY, hierboven. Nadat u het CSV-bestand heeft geïmporteerd, kunt u een postgresql-rapportagetool zoals Ubiq gebruiken om ze uit te zetten in lijn-/kolomdiagrammen, zoals hieronder weergegeven.

Trouwens, als je grafieken en dashboards wilt maken om je bedrijf of website in de gaten te houden, kun je Ubiq proberen. We bieden een gratis proefperiode van 14 dagen.

  1. Oracle-functievoorbeeld om het aantal dagen tussen twee datums te krijgen

  2. Converteren van Oracle's RAW (16) naar .NET's GUID

  3. Het verzoek is mislukt met HTTP-status 401:Ongeautoriseerd IN SSRS

  4. Oracle leest bestand uit directory met uitzondering