Python Language Accéder à la base de données MySQL en utilisant MySQLdb


Exemple

La première chose à faire est de créer une connexion à la base de données en utilisant la méthode connect. Après cela, vous aurez besoin d'un curseur qui fonctionnera avec cette connexion.

Utilisez la méthode execute du curseur pour interagir avec la base de données et, de temps en temps, validez les modifications à l'aide de la méthode de validation de l'objet de connexion.

Une fois que tout est fait, n'oubliez pas de fermer le curseur et la connexion.

Voici une classe Dbconnect avec tout ce dont vous aurez besoin.

import MySQLdb

class Dbconnect(object):

    def __init__(self):

        self.dbconection = MySQLdb.connect(host='host_example',
                                           port=int('port_example'),
                                           user='user_example',
                                           passwd='pass_example',
                                           db='schema_example')
        self.dbcursor = self.dbconection.cursor()

    def commit_db(self):
        self.dbconection.commit()

    def close_db(self):
        self.dbcursor.close()
        self.dbconection.close()

L'interaction avec la base de données est simple. Après avoir créé l'objet, utilisez simplement la méthode execute.

db = Dbconnect()
db.dbcursor.execute('SELECT * FROM %s' % 'table_example')

Si vous souhaitez appeler une procédure stockée, utilisez la syntaxe suivante. Notez que la liste des paramètres est facultative.

db = Dbconnect()
db.callproc('stored_procedure_name', [parameters] )

Une fois la requête terminée, vous pouvez accéder aux résultats de plusieurs manières. L'objet curseur est un générateur qui peut récupérer tous les résultats ou être en boucle.

results = db.dbcursor.fetchall()
for individual_row in results:
    first_field = individual_row[0]

Si vous voulez une boucle utilisant directement le générateur:

for individual_row in db.dbcursor:
    first_field = individual_row[0]

Si vous souhaitez valider les modifications apportées à la base de données:

db.commit_db()

Si vous voulez fermer le curseur et la connexion:

db.close_db()