Maison >base de données >tutoriel mysql >Comment mettre à jour les lignes Postgres avec les données d'un fichier CSV ?
Utiliser des données CSV pour mettre à jour les lignes Postgres : un guide étape par étape
Ce guide explique comment mettre à jour les lignes Postgres existantes à l'aide de données provenant d'un fichier CSV. Le processus comporte plusieurs étapes clés :
1. Établissement d'une table temporaire
Commencez par créer une table temporaire dans votre base de données Postgres. Ce tableau servira de zone de transit pour les données CSV. Le schéma de la table doit refléter la structure de la table cible. Par exemple :
<code class="language-sql">CREATE TEMP TABLE tmp_x (id int, banana text, apple text);</code>
2. Importation de données CSV
Employez la commande COPY
pour charger le contenu du fichier CSV dans la table temporaire. N'oubliez pas de remplacer /absolute/path/to/file
par le chemin réel du fichier :
<code class="language-sql">COPY tmp_x FROM '/absolute/path/to/file' (FORMAT csv);</code>
3. Effectuer la mise à jour
Avec les données dans la table temporaire, exécutez une instruction UPDATE
pour modifier la table cible. Cet exemple met à jour la colonne banana
en fonction des valeurs id
correspondantes :
<code class="language-sql">UPDATE tbl SET banana = tmp_x.banana FROM tmp_x WHERE tbl.id = tmp_x.id;</code>
4. Suppression de la table temporaire
Une fois la mise à jour finalisée, supprimez la table temporaire pour récupérer les ressources :
<code class="language-sql">DROP TABLE tmp_x;</code>
Remarques importantes :
COPY
nécessite généralement des privilèges de superutilisateur ou des rôles correctement attribués (en particulier dans Postgres 10 et versions ultérieures).copy
au sein du client psql
fournit une alternative pour les utilisateurs dépourvus de privilèges de superutilisateur.temp_buffers
et d'indexer la table temporaire.Cette méthode offre un moyen efficace de mettre à jour des lignes Postgres spécifiques à l'aide des données d'un fichier CSV.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!