11
votes

Python: Avantages et inconvénients de Pymysql vs mysqldb?

Deux bibliothèques pour MySQL. J'ai toujours utilisé _MYSQL parce que c'est plus simple.

Quelqu'un peut-il me dire la différence et pourquoi je devrais utiliser lequel à certaines occasions?


1 commentaires

Je pense que cela sera certainement intéressant ... Charlesnagy.info/it/python/...


3 Réponses :


14
votes

mysqldb utilise dB-API (décrit dans PEP 249 ) qui devrait Soyez préféré, car il est commun à tous les pilotes de base de données. IMHO Il n'y a aucun avantage à passer de bas niveau avec _mysql . Je préfère penser à utiliser des bibliothèques de niveau supérieur, comme Sqlalchemy , à la place.


1 commentaires

_MYSQL doit exister pour connecter l'API de niveau supérieur aux bibliothèques C. Le _ devrait être un indice que vous ne devez généralement pas l'utiliser.



5
votes

_MYSQL est la cartographie unique de l'API rugueuse MySQL. En plus de cela, la DB-API est construite, manipulant des choses en utilisant des curseurs et ainsi de suite.

Si vous êtes habitué à l'API MySQL de bas niveau fourni par libmysqlclient, le module _MYSQL est ce dont vous avez besoin, mais comme une autre réponse indique, il n'y a pas de réel besoin d'aller si de bas niveau. Vous pouvez travailler avec la DB-API et vous comporter correctement, avec l'avantage supplémentaire que la DB-API est indépendante de l'API.


0 commentaires

9
votes

Alternativement, vous pouvez utiliser connecteur MySQL / Python :

Connecteur MySQL / Python implémente complètement le protocole client / serveur MySQL complètement dans Python. Cela signifie que vous n'avez pas à compiler quoi que ce soit ou MySQL ne doit même pas être installé sur la machine.


0 commentaires