Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment se connecter à une base de données MySQL en Python ?

Se connecter à MYSQL avec Python 2 en trois étapes

1 - Paramètre

Vous devez installer un pilote MySQL avant de faire quoi que ce soit. Contrairement à PHP, seul le pilote SQLite est installé par défaut avec Python. Le package le plus utilisé pour ce faire est MySQLdb mais il est difficile de l'installer en utilisant easy_install. Veuillez noter que MySQLdb ne prend en charge que Python 2.

Pour les utilisateurs Windows, vous pouvez obtenir un exe de MySQLdb .

Pour Linux, il s'agit d'un package occasionnel (python-mysqldb). (Vous pouvez utiliser sudo apt-get install python-mysqldb (pour les distributions basées sur Debian), yum install MySQL-python (pour rpm-based), ou dnf install python-mysql (pour la distribution Fedora moderne) en ligne de commande pour télécharger.)

Pour Mac, vous pouvez installer MySQLdb en utilisant Macport .

2 - Utilisation

Après l'installation, redémarrez. Ce n'est pas obligatoire, mais cela m'évitera de répondre à 3 ou 4 autres questions dans ce post si quelque chose ne va pas. Veuillez donc redémarrer.

Ensuite, c'est comme si vous utilisiez n'importe quel autre package :

#!/usr/bin/python
import MySQLdb

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="john",         # your username
                     passwd="megajonhy",  # your password
                     db="jonhydb")        # name of the data base

# you must create a Cursor object. It will let
#  you execute all the queries you need
cur = db.cursor()

# Use all the SQL you like
cur.execute("SELECT * FROM YOUR_TABLE_NAME")

# print all the first cell of all the rows
for row in cur.fetchall():
    print row[0]

db.close()

Bien sûr, il existe des milliers de possibilités et d'options; ceci est un exemple très basique. Il faudra regarder la documentation. Un bon point de départ .

3 - Utilisation plus avancée

Une fois que vous savez comment cela fonctionne, vous pouvez utiliser un ORM pour éviter d'écrire du SQL manuellement et de manipuler vos tables comme s'il s'agissait d'objets Python. L'ORM le plus connu de la communauté Python est SQLAlchemy .

Je vous conseille fortement de l'utiliser :votre vie n'en sera que plus simple.

J'ai récemment découvert un autre joyau dans le monde Python :peewee . C'est un ORM très léger, vraiment facile et rapide à configurer puis à utiliser. Cela fait ma journée pour les petits projets ou les applications autonomes, où l'utilisation de gros outils comme SQLAlchemy ou Django est exagérée :

import peewee
from peewee import *

db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy')

class Book(peewee.Model):
    author = peewee.CharField()
    title = peewee.TextField()

    class Meta:
        database = db

Book.create_table()
book = Book(author="me", title='Peewee is cool')
book.save()
for book in Book.filter(author="me"):
    print book.title

Cet exemple fonctionne hors de la boîte. Rien d'autre que d'avoir peewee (pip install peewee ) est requis.