CSV datoteke pojednostavljuju proces pohranjivanja podataka. Budući da se format temelji na redovima i stupcima, CSV se dobro prevodi u relacijsku bazu podataka.

Lako je uvesti CSV datoteku u bazu podataka i izvesti iz baze podataka u CSV datoteku. Postoji nekoliko različitih tehnika koje možete koristiti da to učinite s PostgreSQL-om.

Stvorite CSV datoteku

Evo nekoliko primjera CSV podataka koje možete koristiti izradite vlastitu CSV datoteku:

id, ime, prezime, email
1,Riannon,Pulsifer,Riannon.Pulsifer@primjer.com
2,Moyna,Palocz,Moyna.Palocz@primjer.com
3,Roslyn,Bearnard,Roslyn.Bearnard@primjer.com
4,Gloria,Aldric,Gloria.Aldric@primjer.com
5,Felice,Greenwald,Felice.Greenwald@primjer.com

Prije uvoza CSV datoteke u baza podataka PostgreSQL, morat ćete izraditi tablicu koja odgovara formatu datoteke CSV. Koristite sljedeći kod za izradu Postgres tablice.

STVORITISTOL zaposlenici (iskaznicaintNENULL,
znak imena (20),
znak prezimena (20),
znak e-pošte (50));

Uvezite CSV datoteke u PostgreSQL

Možete uvesti CSV datoteke u Postgres tablicu na poslužitelju ili na klijentskom računalu.

instagram viewer

Uvezite CSV datoteke na strani poslužitelja

Za uvoz CSV datoteke na PostgreSQL poslužitelj koristite naredbu PostgreSQL COPY i ključnu riječ FROM. To vam omogućuje kopiranje podataka iz CSV datoteke u Postgres tablicu, pod uvjetom da struktura odgovara. Upotrijebite sljedeći kôd za kopiranje uzorka CSV datoteke u tablicu zaposlenika:

KOPIRAJ zaposlenike (id, ime, prezime, email)
IZ '/tmp/sample.csv'
DELIMITER ','
CSV ZAGLAVLJE;

Put u gornjem primjeru je apsolutan. Ako želite, možete upotrijebiti put relativan prema vašem direktoriju podataka u Postgresu.

Podatke možete kopirati sa ili bez zaglavlja pa slobodno izostavite zadnji redak koda ako vam ne trebaju.

Uvezite CSV datoteke na strani klijenta

Na klijentskom stroju koristite psql \kopirati naredba za uvoz CSV datoteke. Pokrenite sljedeći kod na psql naredbenom retku da biste kopirali oglednu CSV datoteku u tablicu zaposlenika.

\copy djelatnici FROM '/tmp/sample.csv' DELIMITER ',' CSV ZAGLAVLJE;

Izvezite CSV datoteke iz PostgreSQL-a

Kao i kod uvoza, također možete izvesti CSV datoteku na strani poslužitelja ili na strani klijenta.

Izvoz CSV datoteka na strani poslužitelja

Koristite naredbu COPY i ključnu riječ TO za izvoz podataka u CSV datoteku. Morate navesti izvornu tablicu i put do odredišne ​​datoteke. Ovaj put put mora biti apsolutan:

COPY zaposlenici TO '/tmp/employees.csv' CSV ZAGLAVLJE;

Ako trebate izvesti samo neke retke iz baze podataka, koristite naredbu SELECT na sljedeći način:

KOPIRAJ (SELECT * FROM zaposlenika gdje ime='Moyna') ZA '/tmp/employees-moyna.csv' CSV ZAGLAVLJE;

Izvezite CSV datoteke na strani klijenta

Za izvoz podataka na strani klijenta koristite \kopirati naredba i DO ključna riječ u psql naredbenom retku:

\copy djelatnici TO 'put do datoteke.csv' CSV zaglavlje;

Korištenje adaptera baze podataka

Ne morate koristiti terminal za uvoz CSV datoteke. Podatke možete uvesti kroz objekt pokazivača pomoću željenog programskog jezika. Na primjer, ako radite s Pythonom, možete se spojiti na PostgreSQL poslužitelj i izvršiti KOPIRATI naredba.

Za ovo morate povezati Python s Postgresom putem adaptera baze podataka kao što je psycopg2.

pip instaliraj psycopg2

Povežite se s bazom podataka pomoću sljedećeg koda:

uvoz psicopg2;

veza = psycopg.connect(
baza podataka="employee_db",
host="localhost"
korisnik="postgres",
lozinka="lozinka",
)

Zatim stvorite objekt kursora i koristite ga za izvršavanje naredbe COPY:

kursor = veza.kursor()

cursor.execute(
"KOPIRAJ zaposlenike (id, ime, prezime, email)
IZ '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)

veza.close()

Upravljajte svojim PostgreSQL podacima uz pogodnost CSV-a

To je jednostavan postupak za uvoz i izvoz podataka pomoću PostgreSQL i CSV datoteka. Možete koristiti psql naredbe na klijentu ili poslužitelju ili koristiti adapter baze podataka programski.

Ako više volite GUI, razmislite o korištenju alata pgAdmin. To je GUI aplikacija otvorenog koda koja vam može pomoći da još lakše uvozite i izvozite podatke.