Insertion efficace de données en masse de CSV vers PostgreSQL à l'aide de Go (sans boucles For)
Dans Go, la commande COPY de Postgres fournit un moyen efficace pour insérer en masse des données d'un fichier CSV dans une base de données PostgreSQL. Voici comment y parvenir sans utiliser de boucles for :
Étape 1 : Établir une connexion à la base de données
Établissez une connexion à la base de données à l'aide de la bibliothèque pgx. Ceci est essentiel pour accéder à la base de données et exécuter les commandes.
Étape 2 : Ouvrez le fichier CSV
Ouvrez le fichier CSV contenant les données à insérer. Assurez-vous que le fichier est accessible par votre application.
Étape 3 : Exécutez la commande COPY
Exécutez la méthode PgConn().CopyFrom() pour lancer le transfert de données depuis le fichier CSV dans la table de la base de données. Voici un exemple :
<code class="go">import ( "context" "fmt" "io" "github.com/jackc/pgx/v4/pgxpool" ) const query = "COPY csv_test FROM STDIN (FORMAT csv)" func main() { dbpool, err := pgxpool.Connect(context.Background(), os.Getenv("DATABASE_URL")) if err != nil { panic(err) } defer dbpool.Close() f, err := os.Open("foo.csv") if err != nil { panic(err) } defer f.Close() res, err := dbpool.Conn().PgConn().CopyFrom(context.Background(), f, query) if err != nil { panic(err) } fmt.Print(res.RowsAffected()) }</code>
Décomposition du code :
Avantages :
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!