Zurück zur Artikelliste Artikel
7 Leseminuten

Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

Arbeiten Sie mit Daten und verwenden Sie CSV-Dateien? Hier finden Sie eine praktische Anleitung, wie Sie solche Dateien in eine PostgreSQL-Datenbank mit pgAdmin, einem der besten PostgreSQL-Editoren auf dem Markt, importieren können.

Lassen Sie uns gleich mit dem Import von CSV-Dateien in eine PostgreSQL-Datenbank beginnen. Wir beginnen mit einer Erklärung, was eine CSV-Datei ist, stellen Ihnen dann pgAdmin vor und zeigen Ihnen, wie Sie den Importvorgang durchführen. Keine Sorge - es ist ganz einfach!

Was ist eine CSV-Datei?

CSV ist die Abkürzung für "comma-separated values". Es handelt sich um ein Format zum Speichern von Daten in Textdateien. Dieser Standard wird von vielen Anwendungen und Programmen unterstützt, darunter Microsoft Office, LibreOffice und Google Sheets.

Warum CSV-Dateien in eine Datenbank importieren?

Wann werden CSV-Dateien verwendet? Eine Hauptanwendung ist die Übertragung von Daten von einem Programm oder einer Plattform auf eine andere. Stellen Sie sich vor, Sie müssen Daten aus einer Datenbank in eine Tabellenkalkulation exportieren oder umgekehrt. CSV-Dateien sind der sicherste Weg, um Ihre Daten zu speichern; sie werden von fast allen Office-Programmen und Datenbankmanagementsystemen (DBMS) gelesen. Außerdem handelt es sich bei CSV-Dateien um Textdateien, die recht klein sind, so dass die Übertragung selbst großer Datenmengen kein Problem darstellt. Das ist ein großer Vorteil der CSV-Dateien.

Schauen Sie sich die Unterschiede zwischen der Speicherung von Daten in einer Tabelle und in einer CSV-Datei an. Hier ist eine Tabelle namens characters. Ich frage mich, ob Sie die Daten erkennen, die ich dort abgelegt habe.

IDfirst_namelast_namefamily
1JohnSnowTargaryen
2AryaStarkStark
3TyrionLannisterLannister

Hier sind die gleichen Informationen im CSV-Format:

ID,first_name,last_name,family
1,John,Snow,Targaryen
2,Arya,Stark,Stark
3,Tyrion,Lannister,Lannister

Dies ist ein sehr kleiner Datensatz, aber Sie können sich vorstellen, wie er mit vielen Spalten und Tausenden von Zeilen aussehen würde. Ich denke, Sie haben den Nutzen und die Vorteile von CSV-Dateien verstanden. Kommen wir nun zu dem Werkzeug, mit dem wir sie importieren werden: pgAdmin.

PostgreSQL und pgAdmin

Vor einiger Zeit hat mein Freund Ignacio gezeigt, wie man PostgreSQL auf Windows 10 installiert und einrichtet. Wenn Sie diesen Artikel gelesen haben, wissen Sie, dass Postgres einfach einzurichten und eines der beliebtesten DBMS der Welt ist.

Es gibt eine Vielzahl verschiedener SQL-Editoren auf dem Markt, die PostgreSQL unterstützen. Ich habe mich an pgAdmin gewöhnt und sehe ehrlich gesagt keinen Grund, auf etwas anderes umzusteigen. Es ist ein großartiges Werkzeug, das mich noch nie im Stich gelassen hat.

Was ist pgAdmin? Es handelt sich um ein grafisches PostgreSQL-Datenbankverwaltungsprogramm. Die neueste Version ist pgAdmin 4. Es kann unter Linux, Unix, macOS oder Windows verwendet werden, und da es Open-Source ist, ist es kostenlos. Das wird für viele ein wichtiges Argument sein. Volle Funktionalität und keine Gebühren machen pgAdmin perfekt für mich. Und vielleicht auch für Sie.

PgAdmin ermöglicht es Ihnen, Datenbanken und deren Replikate zu verwalten, alle Datenbankobjekte zu erstellen, Abfragen durchzuführen und den Abfrageplan zu analysieren (in klassischer oder grafischer Form). Sie können auch die klassische Konsole verwenden, um in ihr zu schreiben. Außerdem gibt es zahlreiche Erweiterungen, mit denen Sie das Programm frei an Ihre Bedürfnisse anpassen können.

Alternativen zu pgAdmin sind DBeaver, Navicat, HeidiSQL und OmniDB. Wenn Sie möchten, dass ich den verschiedenen SQL-Editoren - auch denen für PostgreSQL-Datenbanken - einen eigenen Artikel widme, lassen Sie es mich in den Kommentaren wissen.

Ich gehe davon aus, dass Sie Postgres und pgAdmin bereits auf Ihrem Computer installiert haben und dass Sie sie entsprechend eingestellt haben. Nun können wir uns an die Arbeit machen und Daten importieren.

Wie man CSVs in PostgreSQL importiert

Gehen wir zurück zu unserer characters.csv Datei und versuchen wir, sie über pgAdmin in unsere Datenbank zu importieren. Es gibt zwei Methoden, und ich werde Ihnen Schritt für Schritt zeigen, was zu tun ist.

1. eine Tabelle in pgAdmin erstellen

Mit dem internen Query Tool in pgAdmin können Sie zunächst eine Tabelle mit einer SQL-Abfrage erstellen:

CREATE TABLE characters 
(id serial, 
first_name varchar, 
last_name varchar, 
family varchar
);

Achten Sie darauf, dass die Spalten die gleichen Namen und Werte haben wie in der CSV-Datei.

Anstatt eine SQL-Abfrage zu schreiben, können Sie auch mit der rechten Maustaste auf Tabellen im Baum auf der linken Seite klicken. Ein kurzes Menü wird angezeigt. Wählen Sie Erstellen und dann Tabelle.....

Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

Es öffnet sich ein neues Fenster, in dem Sie aufgefordert werden, einen Namen für die neue Tabelle einzugeben. In unserem Fall lautet er characters.

Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

Klicken Sie im gleichen Fenster auf die Registerkarte Spalten und fügen Sie die entsprechenden Spalten hinzu, indem Sie auf die Schaltfläche + klicken. Denken Sie daran, dass die Spaltennamen mit denen in der CSV-Datei übereinstimmen müssen. Sie müssen auch den Datentyp angeben, den jede Spalte enthalten soll.

Wenn Sie nicht wissen, welche Datentypen Sie eingeben müssen, empfehle ich Ihnen, den Kurs LearnSQL.de Data Types in SQL zu besuchen. Es ist besser, die Grundlagen zu lernen und Fehler zu vermeiden. Wir wissen, welche Daten wir in die einzelnen Spalten aufnehmen wollen, also sollte alles wie folgt aussehen:

Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

Beachten Sie, dass Sie die Spalte als Nicht-NULL-Spalte festlegen und hier auch einen Primärschlüssel angeben können. Wenn Sie auf SQL klicken, können Sie die zur Erstellung der Tabelle verwendete SQL-Abfrage anzeigen. Um die anderen (fortgeschritteneren) Funktionen kümmern wir uns hier erst einmal nicht.

Wenn Sie fertig sind, klicken Sie auf Speichern. Sie haben gerade eine Tabelle erstellt! Wenn Sie sie nicht in der Struktur sehen, klicken Sie mit der rechten Maustaste auf Tabellen und wählen Sie Aktualisieren. Sie sollte nun erscheinen.

2. Importieren Sie die CSV-Datei

Auch hier können Sie das Abfragetool verwenden und eine SQL-Abfrage eingeben. Verwenden Sie dazu die Anweisung COPY:

COPY characters
FROM 'C:\a\characters.csv' 
DELIMITER ',' 
CSV HEADER;

Geben Sie in der ersten Zeile den Namen Ihrer Tabelle ein. In der zweiten Zeile (nach der FROM Klausel) geben Sie den Pfad zu Ihrer Datei ein. In meinem Fall ist es das Laufwerk C und der Ordner a. Wichtig: Sie müssen das Zeichen DELIMITERangeben, das als Trennzeichen für die Werte in der CSV-Datei verwendet wird. Normalerweise ist es ein Komma, aber es kann auch ein Semikolon, ein Leerzeichen oder etwas anderes sein.

Verwenden Sie schließlich das Schlüsselwort HEADER, um die Kopfzeile (d. h. die Zeile mit den Spaltennamen) beim Kopieren von Daten aus der CSV-Datei zu überspringen.

Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

In unserem Fall ist das Ergebnis eine COPY 3 Nachricht. Das bedeutet, dass pgAdmin drei Zeilen in unsere Tabelle kopiert hat. Geben wir nun eine einfache Abfrage ein, um zu prüfen, ob alles funktioniert hat:

SELECT * FROM characters;
Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

Natürlich können wir, wie bei der Erstellung einer Tabelle und dem Importieren von Daten aus einer CSV-Datei, die Abfrage überspringen und das Programm selbst verwenden. Klicken Sie dazu einfach mit der rechten Maustaste auf Ihre Tabelle im Baum auf der linken Seite und wählen Sie den Menüpunkt Import/Export....

Importieren von CSV-Dateien in PostgreSQL mit PgAdmin

Es erscheint ein Fenster, in dem der Schieberegler auf Importieren eingestellt ist. Wählen Sie dann die Quelldatei aus und setzen Sie das Format auf CSV. Setzen Sie die Kopfzeile auf Ja, wenn Ihre Datei eine Kopfzeile hat. Nun müssen Sie nur noch das Trennzeichen auswählen (normalerweise ein Komma). Ihr Fenster sollte wie folgt aussehen:

Wenn Sie auf OK klicken, werden die Daten importiert. Und Ihre Tabelle ist fertig! Jetzt können Sie SQL-Abfragen schreiben und die Daten analysieren, Daten aus anderen Tabellen kombinieren usw. Willkommen auf der anderen Seite des Spiegels, Alice! Du bist erfolgreich dem weißen Kaninchen gefolgt.

Nun, das Importieren einer CSV-Datei in eine Postgres-Datenbank war einfach!

So einfach ist es, Daten aus einer CSV-Datei in eine PostgreSQL-Datenbank mit pgAdmin zu importieren. Es gibt zwei Möglichkeiten, dies zu tun - mit dem Programm selbst und mit Hilfe von SQL im Query Tool und der COPY-Anweisung. Ich verwende pgAdmin, weil es ein großartiges Werkzeug für die Arbeit mit PostgreSQL ist. Welche IDE verwenden Sie? Sagen Sie es uns in den Kommentaren.

Wenn Sie ein absoluter Anfänger in PostgreSQL sind, empfehle ich Ihnen unseren SQL für Anfänger in PostgreSQL Kurs oder SQL von A bis Z in PostgreSQL (der Hauptkurs für diesen Dialekt). Dies sind brillante, interaktive SQL-Kurse, die Ihnen alles beibringen, was Sie brauchen, um effektiv mit Datenbanken zu arbeiten. Bleiben Sie nicht zurück; die ganze Welt setzt auf PostgreSQL, einschließlich vieler großer Unternehmen. Warum probieren Sie es nicht aus?