Comment exécuter une requête SQL avec un script Python dans MySQL Workbench
Je veux exécuter des requêtes SQL à partir du script Python environnement dans MySQL Workbench. J'ai regardé la MySQL Workbench documentation de la théorie de la relativité générale module et trouvé le executeScript méthode mais je n'arrive pas à l'utiliser pour effectuer des requêtes.
L'exécution de ce code Python:
import grt
querystring = "select * from Purchases WHERE PurchaseAmount > 600 and PurchaseAmount < 2500"
executeScript(querystring)
produit le message d'erreur suivant:
Uncaught exception while executing [filepath]runquery.py:
File "[filepath]runquery.py", line 10, in <module>
executeScript(querystring)
NameError: name 'executeScript' is not defined
Je ne comprends pas ce que virtual théorie de la relativité générale::ListRef executeScript ( const std::string & sql ) signifie donc je ne peux pas formater ma requête correctement, cependant, le message d'erreur semble indiquer que la executeScript méthode n'existe pas de toute façon. La plupart de la documentation je regarde a des exemples de correctement mis en forme et des appels de fonction mais je n'arrive pas à trouver de tout pour executeScript.
Tout ce que je veux faire, c'est littéralement courir mon string comme une requête SQL dans la base de données MySQL Workbench script Python environnement.
Merci!
Je suis nouveau sur le Python et SQL, donc s'il vous plaît être patient. 🙂
OriginalL'auteur JaneGoodall | 2013-04-04
Vous devez vous connecter pour publier un commentaire.
Pour exécuter executeScript fonction, vous devez interagir avec un sqleditor objet.
Pour les essais, la prochaine sur MS Windows avec l'exemple des bases de données:
Script contenu:
Pour savoir comment référencer des objets dans le script, il est très facile d'utiliser les valeurs Globales de l'Arborescence de l'explorateur de classe et à l'aide de clic droit de la souris sur l'objet et choisissez "Copier le Chemin d'accès pour Python"
OriginalL'auteur jshepherd
Vous pouvez exécuter quelque chose comme la commande suivante si vous avez besoin pour exécuter votre script en ligne de commande dans Windows:
Upvoted juste parce que c'est bon de savoir comment exécuter cmd
OriginalL'auteur l0pan
La (première) problème semble être que vous utilisez une fonction appelée executeScript(), que vous n'avez pas défini ou à partir de n'importe où. Si c'est dans la théorie de la relativité générale module (dont je ne suis pas familier avec), vous devez faire comme suit:
Le truc, c'est que vous soit explicitement à l'importation de la méthode par la pratique de théorie de la relativité générale d'importation executeScript "OU utiliser la théorie de la relativité générale-préfixe pour la méthode de la" théorie de la relativité générale.executeScript()'. C'est juste la façon Python fonctionne. Je ne le trouver intéressant, cependant, que même si vous désormais explicitement de l'importation de la méthode, il semble toujours pas défini. Je pense que vous avez besoin de nous montrer un peu plus de votre code avant de nous juger. Pourquoi ne pas utiliser pastebin pour poster le script en entier?
L'ensemble de mon script est dans la question d'origine, dans la première boîte grise. Je pense que executeScript est une instance au niveau de la méthode (c'est difficile à dire parce que je ne comprends pas la documentation, j'ai fait un lien dans la question d'origine) j'ai donc besoin de créer une instance du type correct de l'objet et de l'appeler comme obj.executeScript(foo,bar). Normalement, cet objet est une connexion sur le serveur), mais je suis déjà connecté au serveur MySQL Workbench et b) de l'appeler de cette façon m'oblige à mettre le mot de passe dans le fichier Python en clair ce qui est vraiment dangereux.
Aussi, la modification de mon appel à la théorie de la relativité générale.executeScript(querystring,'sql') produit "AttributeError: 'module' objet n'a pas d'attribut "executeScript'"
Ah, dans ce cas, je crains que je ne peux pas vous aider ici. Mais juste une remarque sur le mot de passe dans le fichier python. Je ne sais pas si vous serez à la distribution de ce script, mais tant qu'il se situe juste et fonctionne sur votre propre ordinateur, je ne pense pas qu'il y a de quoi s'inquiéter.
OriginalL'auteur kramer65