MySQL est l'une des bases de données relationnelles les plus populaires. Il vous permet de stocker des données dans des tables et de créer des relations entre ces tables. Pour utiliser MySQL, qui fonctionne comme un serveur de base de données, vous devrez écrire du code pour vous y connecter.

La plupart des langages de programmation comme Python fournissent un support pour cela. En fait, en Python, vous pouvez adopter plusieurs approches, chacune avec ses propres avantages.

Préparez votre configuration MySQL

Pour vous connecter à la base de données, vous avez besoin des valeurs suivantes :

  • Hôte: l'emplacement du serveur MySQL, localhost si vous l'exécutez sur le même ordinateur.
  • Utilisateur: le nom d'utilisateur MySQL.
  • Mot de passe: le mot de passe MySQL.
  • Nom de la base de données: le nom de la base de données à laquelle vous souhaitez vous connecter.

Avant de vous connecter à la base de données MySQL, créez un nouveau répertoire :

mkdir python-mysql

Configurer un environnement virtuel Python

instagram viewer

Un environnement virtuel Python vous permet d'installer des packages et d'exécuter des scripts dans un environnement isolé. Lorsque vous créer un environnement virtuel, vous pouvez ensuite y installer des versions de Python et des dépendances Python. De cette façon, vous isolez différentes versions et évitez les problèmes de compatibilité.

Connectez-vous à MySQL à l'aide de mysqlclient

La mysqlclient Le pilote est une interface avec le serveur de base de données MySQL qui fournit l'API du serveur de base de données Python. Il est écrit en C.

Exécutez la commande suivante dans l'environnement virtuel pour installer mysqlclient :

pépin installer mysqlclient

Si vous êtes sur une machine Linux, installez d'abord les en-têtes et bibliothèques de développement Python 3 et MySQL.

#Debian/Ubuntu
sudo apt-get installer python3-dev défaut-libmysqlclient-dev construire-essentiel

# Chapeau rouge / CentOS
sudo miam installer python3-devel mysql-devel

Sous Windows, vous pouvez installer mysqlclient à l'aide d'un fichier de roue binaire. Téléchargez le fichier mysqlclient compatible avec votre plate-forme à partir de La collection non officielle de Christoph Gohlke. Vous pouvez ensuite utiliser le fichier wheel téléchargé avec pip pour installer mysqlclient comme ceci :

pépininstallerc:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Utilisez le code de connexion suivant pour vous connecter à la base de données MySQL une fois l'installation terminée :

importer MySQLdbName

connexion = MySQLdb.connect(
hôte="hôte local",
utilisateur="<mysql_user>",
mot de passe="<mysql_password>",
db="<nom de la base de données>"
)

curseur = connexion.curseur()
curseur.execute("sélectionnerbase de données();")
db = curseur.fetchone()

si db :
imprimer("Tu're connecté à la base de données: ", db)
autre:
imprimer('Pas connecté.')

Dans ce programme, vous avez :

  • Client mysql importé.
  • Création d'un objet de connexion à l'aide de MySQLdb.connect().
  • Transmis les détails de configuration de la base de données à MySQLdb.connect().
  • Création d'un objet curseur pour interagir avec MySQL.
  • A utilisé l'objet curseur pour récupérer la version de la base de données MySQL connectée.

N'oubliez pas de changer les détails de la base de données avec les vôtres.

Connectez-vous à MySQL à l'aide de mysql-connector-python

mysql-connecteur-python est le pilote de connexion officiel pris en charge par Oracle. Il est également écrit en Python pur.

Installez-le via pip pour commencer à l'utiliser.

pépin installer mysql-connecteur-python

Connectez-vous à MySQL en utilisant le code de connexion suivant.

importer mysql.connector
de mysql.connector importerErreur

connexion = mysql.connector.connect (hôte="hôte local",
utilisateur="<mysql_user>",
mot de passe="<mysql_password>",
db="<nom de la base de données>")

essayer:
silien.est connecté():
curseur = connexion.curseur()
curseur.execute("sélectionnerbase de données();")
db = curseur.fetchone()
imprimer("Tu're connecté à la base de données: ", db)
à l'exception Erreurcomme e :
imprimer("Erreurtandis que connexion à MySQL", e)
finalement:
silien.est connecté():
le curseur.proche()
lien.proche()
print("Connexion MySQL est fermé")

Le code de connexion ci-dessus fait la même chose que le code de connexion mysqclient.

Une fois que vous avez créé l'objet de connexion, vous pouvez créer un curseur, que vous pouvez ensuite utiliser pour exécuter des requêtes sur la base de données.

Ce programme de connexion utilise également le essayer… attraper bloquer. La classe Error, de mysql.connector, vous permet d'intercepter les exceptions déclenchées lors de la connexion à la base de données. Cela devrait simplifier le débogage et le dépannage.

Connectez-vous à MySQL avec PyMySQL

La PyMySQL Le pilote de connexion remplace MySQLdb. Pour l'utiliser, vous devez exécuter Python 3.7 ou une version plus récente et votre serveur MySQL doit être en version 5. 7 ou plus récent. Si vous utilisez MariaDB, il doit s'agir de la version 10.2 ou supérieure. Vous pouvez trouver ces exigences sur le Page Github PyMySQL.

Pour installer PyMySQL, exécutez la commande suivante.

pépin installer PyMySQL

Connectez-vous à MySQL en utilisant PyMySQL en utilisant ce code.

importer pymysql

connexion = pymysql.connect (hôte="hôte local",
utilisateur="<mysql_user>",
mot de passe="<mysql_password>",
base de données="<nom de la base de données>")

essayer:
curseur = connexion.curseur()
curseur.execute("sélectionnerbase de données();")
db = curseur.fetchone()
imprimer("Tu're connecté à la base de données: ", db)
à l'exception pymysql. Erreur comme e :
imprimer("Erreurtandis que connexion à MySQL", e)
finalement:
le curseur.proche()
lien.proche()
print("Connexion MySQL est fermé")

Une fois que vous avez établi la connexion et créé l'objet curseur, vous pouvez commencer à créer Requêtes SQL.

Se connecter à MySQL avec aiomysql

La aiomysql Le pilote de connexion est comme la version asynchrone de PyMySQL. Il donne accès à une base de données MySQL à partir du framework asyncio.

Pour utiliser aiomysql, vous avez besoin de Python 3.7+ et de PyMySQL installés dans votre environnement de développement.

Exécutez la commande suivante pour installer asyncio et aiomysql.

pépin installer asynchrone
pépin installer aiomysql

Avec aiomysql, vous pouvez connecter Python à MySQL à l'aide d'un objet de connexion de base et d'un pool de connexions.

Voici un exemple montrant comment se connecter à la base de données MySQL à l'aide d'un objet de connexion.

importer asynchrone
importer aiomysql
boucle = asyncio.get_event_loop()

asynchronedéfinitivementpython_mysql():
connexion = attendre aiomysql.connect (hôte="hôte local",
utilisateur="<mysql_user>",
mot de passe="<mysql_password>",
base de données="<nom de la base de données>")

cur = attendre connexion.curseur()
attendre cur.execute("sélectionnerbase de données();")
db = attendre cur.fetchone()
imprimer("Tu're connecté à la base de données: ", db)
attendre cur.close()
lien.proche()

boucle.run_until_complete(python_mysql())

Contrairement à un objet de connexion à une base de données, un pool de connexions vous permet de réutiliser les connexions à la base de données. Pour ce faire, il maintient un pool de connexions ouvertes et les attribue sur demande. Lorsqu'un client demande une connexion, une connexion lui est attribuée à partir du pool. Une fois que le client a fermé la connexion, la connexion revient au pool.

Le code de base pour se connecter via un pool est comme ci-dessous :

importer asynchrone
importer aiomysql
boucle = asyncio.get_event_loop()
asynchronedéfinitivementpython_mysql():
pool = attendre aiomysql.create_pool (host="hôte local",
utilisateur="<mysql_user>",
mot de passe="<mysql_password>",
base de données="<nom de la base de données>", boucle=boucle, autocommit=Faux)

asynchroneavec pool.acquérir () comme lien:
curseur = attendre connexion.curseur()
attendre cur.execute("sélectionnerbase de données();")
db = attendre cur.fetchone()
imprimer("Tu're connecté à la base de données: ", db)

bassin.proche()
attendre pool.wait_closed()

boucle.run_until_complete(python_mysql())

Ce programme devrait imprimer la version de MySQL à laquelle vous vous êtes connecté lorsque vous l'exécutez.

Gestion de votre base de données PostgreSQL

Cet article vous a montré plusieurs façons de connecter une application Python à MySQL. Chacune de ces méthodes vous permet d'interagir avec et d'exécuter des requêtes sur la base de données.

Une fois connecté à une base de données MySQL, vous pouvez exécuter des requêtes de données et effectuer des transactions de base de données. Vous pouvez créer une application Python, la connecter à MySQL et commencer à stocker des données.