CSV-filer forenkler prosessen med å lagre data. Siden formatet er rad- og kolonnebasert, kan CSV oversettes godt til en relasjonsdatabase.
Det er enkelt å importere en CSV-fil til en database, og eksportere fra en database til en CSV-fil. Det er noen forskjellige teknikker du kan bruke for å gjøre det med PostgreSQL.
Lag en CSV-fil
Her er noen eksempler på CSV-data du kan bruke til lage din egen CSV-fil:
id, fornavn, etternavn, e-post
1,Riannon,Pulsifer,Riannon.Pulsifer@eksempel.com
2,Moyna,Palocz,Moyna.Palocz@eksempel.com
3,Roslyn,Bearard,Roslyn.Bearnard@eksempel.com
4,Gloria,Aldric,Gloria.Aldric@eksempel.com
5,Felice,Greenwald,Felice.Greenwald@eksempel.com
Før du importerer CSV-filen til PostgreSQL-databasen, må du lage en tabell som samsvarer med CSV-filformatet. Bruk følgende kode for å lage en Postgres-tabell.
SKAPEBORD ansatte(idintIKKENULL,
fornavn røye (20),
etternavn char (20),
e-posttegn (50));
Importer CSV-filer til PostgreSQL
Du kan importere CSV-filer til en Postgres-tabell på serveren eller på en klientmaskin.
Importer CSV-filer på serversiden
For å importere en CSV-fil til en PostgreSQL-server, bruk PostgreSQL COPY-kommandoen og FROM-nøkkelordet. Dette lar deg kopiere data fra en CSV-fil til en Postgres-tabell, forutsatt at strukturen samsvarer. Bruk følgende kode for å kopiere eksempel-CSV-filen til medarbeidertabellen:
COPY-ansatte (id, fornavn, etternavn, e-post)
FRA '/tmp/sample.csv'
AVGRENSNING ','
CSV-hode;
Banen i eksemplet ovenfor er absolutt. Du kan bruke en bane i forhold til Postgres-datakatalogen din hvis du foretrekker det.
Du kan kopiere dataene med eller uten overskrifter, så slipp den siste linjen med kode hvis du ikke trenger dem.
Importer CSV-filer på klientsiden
På en klientmaskin bruker du psql \kopiere kommandoen for å importere CSV-filen. Kjør følgende kode på psql-ledeteksten for å kopiere eksempel-CSV-filen til medarbeidertabellen.
\kopi ansatte FRA '/tmp/sample.csv' AVGRENSNING ',' CSV-hode;
Eksporter CSV-filer fra PostgreSQL
Som med import, kan du også eksportere en CSV-fil på serversiden eller klientsiden.
Eksporter CSV-filer på serversiden
Bruk COPY-kommandoen og TO-nøkkelordet for å eksportere dataene til en CSV-fil. Du må spesifisere kildetabellen og banen til målfilen. Denne gangen må banen være absolutt:
KOPIER ansatte TIL '/tmp/employees.csv' CSV-hode;
Hvis du bare trenger å eksportere noen av radene fra databasen, bruk SELECT-kommandoen som følger:
KOPI (VELG * FRA ansatte hvor fornavn='Moyna') TIL '/tmp/employees-moyna.csv' CSV-hode;
Eksporter CSV-filer på klientsiden
For å eksportere data på klientsiden, bruk \kopiere kommandoen og TIL nøkkelord i psql-ledeteksten:
\kopi ansatte TIL 'sti-til-fil.csv' CSV-overskrift;
Bruke en databaseadapter
Du trenger ikke bruke terminalen for å importere en CSV-fil. Du kan importere dataene gjennom et markørobjekt ved å bruke ditt foretrukne programmeringsspråk. Hvis du for eksempel jobber med Python, kan du koble til PostgreSQL-serveren og kjøre KOPIERE kommando.
For dette må du koble Python til Postgres gjennom en databaseadapter som psychopg2.
pip installer psycopg2
Koble til databasen med følgende kode:
import psychopg2;
forbindelse = psychopg.connect(
database="employee_db",
host="localhost"
user="postgres",
passord="passord",
)
Lag deretter et markørobjekt og bruk det til å utføre COPY-kommandoen:
cursor = forbindelse.cursor()
cursor.execute(
"COPY ansatte (id, fornavn, etternavn, e-post)
FRA '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)
connection.close()
Administrer PostgreSQL-dataene dine med bekvemmeligheten av CSV
Det er en enkel prosess å importere og eksportere data ved hjelp av PostgreSQL- og CSV-filer. Du kan bruke psql-kommandoene på klienten eller serveren, eller bruke en databaseadapter programmatisk.
Hvis du er mer en GUI-person, bør du vurdere å bruke pgAdmin-verktøyet. Det er en åpen kildekode GUI-applikasjon som kan hjelpe deg med å importere og eksportere data enda enklere.