Conectando-se ao MYSQL com Python 2 em três etapas
1 - Configuração
Você deve instalar um driver MySQL antes de fazer qualquer coisa. Ao contrário do PHP, apenas o driver SQLite é instalado por padrão com o Python. O pacote mais usado para isso é o MySQLdb mas é difícil instalá-lo usando easy_install. Observe que o MySQLdb suporta apenas Python 2.
Para usuários do Windows, você pode obter um exe do MySQLdb .
Para Linux, este é um pacote casual (python-mysqldb). (Você pode usar
sudo apt-get install python-mysqldb
(para distribuições baseadas em debian), yum install MySQL-python
(para baseado em rpm), ou dnf install python-mysql
(para a distro fedora moderna) na linha de comando para download.) Para Mac, você pode instalar MySQLdb usando Macport .
2 - Uso
Após a instalação, reinicie. Isso não é obrigatório, mas me impedirá de responder 3 ou 4 outras perguntas neste post se algo der errado. Então, por favor, reinicie.
Então é como usar qualquer outro pacote:
#!/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()
Claro, existem milhares de possibilidades e opções; este é um exemplo muito básico. Você terá que olhar a documentação. Um bom ponto de partida .
3 - Uso mais avançado
Depois de saber como funciona, você pode usar um ORM para evitar escrever SQL manualmente e manipular suas tabelas como se fossem objetos Python. O ORM mais famoso na comunidade Python é o SQLAlchemy .
Aconselho-o vivamente a usá-lo:a sua vida vai ser muito mais fácil.
Recentemente descobri outra joia no mundo Python:peewee . É um ORM muito leve, muito fácil e rápido de configurar e usar. Faz meu dia para pequenos projetos ou aplicativos autônomos, onde usar grandes ferramentas como SQLAlchemy ou Django é um exagero:
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
Este exemplo funciona fora da caixa. Nada além de ter peewee (
pip install peewee
) É necessário.