Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich Postgres-Zeilen mit Daten aus einer CSV-Datei?
Verwenden von CSV-Daten zum Aktualisieren von Postgres-Zeilen: Eine Schritt-für-Schritt-Anleitung
Diese Anleitung beschreibt, wie Sie vorhandene Postgres-Zeilen mithilfe von Daten aktualisieren, die aus einer CSV-Datei stammen. Der Prozess umfasst mehrere wichtige Schritte:
1. Einrichten einer temporären Tabelle
Erstellen Sie zunächst eine temporäre Tabelle in Ihrer Postgres-Datenbank. Diese Tabelle dient als Staging-Bereich für die CSV-Daten. Das Tabellenschema muss die Struktur der Zieltabelle widerspiegeln. Zum Beispiel:
<code class="language-sql">CREATE TEMP TABLE tmp_x (id int, banana text, apple text);</code>
2. CSV-Daten importieren
Verwenden Sie den Befehl COPY
, um den Inhalt der CSV-Datei in die temporäre Tabelle zu laden. Denken Sie daran, /absolute/path/to/file
durch den tatsächlichen Dateipfad zu ersetzen:
<code class="language-sql">COPY tmp_x FROM '/absolute/path/to/file' (FORMAT csv);</code>
3. Durchführen des Updates
Führen Sie mit den Daten in der temporären Tabelle eine UPDATE
-Anweisung aus, um die Zieltabelle zu ändern. In diesem Beispiel wird die Spalte banana
basierend auf übereinstimmenden id
-Werten aktualisiert:
<code class="language-sql">UPDATE tbl SET banana = tmp_x.banana FROM tmp_x WHERE tbl.id = tmp_x.id;</code>
4. Entfernen der temporären Tabelle
Nachdem das Update abgeschlossen ist, entfernen Sie die temporäre Tabelle, um Ressourcen zurückzugewinnen:
<code class="language-sql">DROP TABLE tmp_x;</code>
Wichtige Hinweise:
COPY
erfordert im Allgemeinen Superuser-Berechtigungen oder entsprechend zugewiesene Rollen (insbesondere in Postgres 10 und höher).copy
-Metabefehl im psql
-Client bietet eine Alternative für Benutzer ohne Superuser-Berechtigungen.temp_buffers
und die Indizierung der temporären Tabelle umfassen.Diese Methode bietet eine effiziente Möglichkeit, bestimmte Postgres-Zeilen mithilfe von Daten aus einer CSV-Datei zu aktualisieren.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich Postgres-Zeilen mit Daten aus einer CSV-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!