En Python, l'exécution de requêtes SQL est une tâche polyvalente. Cet article se concentre sur la lecture d'un fichier SQL externe et l'exécution des requêtes qu'il contient.
Lors de l'exécution de requêtes spécifiques à partir d'un fichier, il n'est pas immédiatement clair comment adapter la fonction c.execute() pour récupérer les résultats de la requête. Le code fourni exécute les commandes avec succès mais nécessite des éclaircissements pour la ligne :
result = c.execute("SELECT * FROM %s;" % table);
La clé pour comprendre cette ligne est le formatage des chaînes en Python. %s fonctionne comme un espace réservé et la table de variables suivante le remplace. Par exemple :
a = "Hi, my name is %s and I have a %s hat" % ("Azeirah", "cool") print(a) # Output: Hi, my name is Azeirah and I have a Cool hat
En remplaçant %s par la variable de table, la fonction c.execute() exécute les requêtes de manière dynamique. La boucle for parcourt les tables, permettant l'exécution de requêtes séquentielles.
Le code suivant fournit une fonction réutilisable pour exécuter des scripts SQL à partir de fichiers :
def executeScriptsFromFile(filename): fd = open(filename, 'r') sqlFile = fd.read() fd.close() sqlCommands = sqlFile.split(';') for command in sqlCommands: try: c.execute(command) except OperationalError, msg: print("Command skipped: ", msg)
Pour l'utiliser, appelez simplement :
executeScriptsFromFile('zookeeper.sql')
Grâce à la puissance du formatage de chaîne, l'exécution de requêtes SQL à partir d'un fichier externe en Python devient un processus simple, permettant une exécution dynamique des requêtes et une base de données efficace. manipulation.
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!