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.