Pandas to_sql : création de tables avec des clés primaires
La bibliothèque Pandas fournit une méthode pratique (to_sql) pour exporter des dataframes vers des bases de données SQL. Cependant, les utilisateurs peuvent rencontrer des situations dans lesquelles ils doivent créer des tables avec des clés primaires à l'aide de to_sql.
Le comportement par défaut de to_sql ne permet pas la création automatique de clés primaires. Bien que la documentation mentionne la possibilité d'utiliser index et index_label pour créer des index, il n'y a pas de paramètre explicite pour les clés primaires.
Pour résoudre ce problème, nous pouvons utiliser une combinaison de to_sql et de manipulation SQL directe :
# Create the table without a primary key group_export.to_sql(con = db, name = config.table_group_export, if_exists = 'replace', flavor = 'mysql', index = False) # Execute a separate SQL statement to add the primary key with db.connect() as con: con.execute('ALTER TABLE `' + config.table_group_export + '` ADD PRIMARY KEY (`field_name`)')
Dans cette approche, nous utilisons d'abord to_sql pour créer la table sans clé primaire. Ensuite, nous établissons une connexion à la base de données et exécutons une instruction ALTER TABLE pour ajouter la contrainte de clé primaire souhaitée à la table. En spécifiant le nom du champ entre parenthèses de ADD PRIMARY KEY, nous définissons quelle colonne doit servir de clé primaire.
En utilisant cette méthode, il est possible de créer des tables MySQL avec des clés primaires en utilisant la fonction to_sql de Pandas et manipulation SQL ultérieure.
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!