Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como me conecto a um banco de dados MySQL em Python?

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.