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.
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.