sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo me conecto a una base de datos MySQL en Python?

Conectarse a MYSQL con Python 2 en tres pasos

1 - Configuración

Debe instalar un controlador MySQL antes de hacer nada. A diferencia de PHP, solo el controlador SQLite se instala de forma predeterminada con Python. El paquete más utilizado para hacerlo es MySQLdb pero es difícil instalarlo usando easy_install. Tenga en cuenta que MySQLdb solo es compatible con Python 2.

Para usuarios de Windows, puede obtener un exe de MySQLdb .

Para Linux, este es un paquete casual (python-mysqldb). (Puede usar sudo apt-get install python-mysqldb (para distribuciones basadas en Debian), yum install MySQL-python (para los basados ​​en rpm) o dnf install python-mysql (para la distribución moderna de fedora) en la línea de comando para descargar.)

Para Mac, puede instalar MySQLdb usando Macport .

2 - Uso

Después de la instalación, reinicie. Esto no es obligatorio, pero me impedirá responder otras 3 o 4 preguntas en esta publicación si algo sale mal. Así que reinicia.

Entonces es como usar cualquier otro paquete:

#!/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()

Por supuesto, hay miles de posibilidades y opciones; Este es un ejemplo muy básico. Tendrás que mirar la documentación. Un buen punto de partida .

3 - Uso más avanzado

Una vez que sepa cómo funciona, es posible que desee utilizar un ORM para evitar escribir SQL manualmente y manipular sus tablas como si fueran objetos de Python. El ORM más famoso en la comunidad Python es SQLAlchemy .

Te recomiendo encarecidamente que lo uses:tu vida va a ser mucho más fácil.

Recientemente descubrí otra joya en el mundo Python:peewee . Es un ORM muy ligero, realmente fácil y rápido de configurar y luego usar. Me alegra el día para proyectos pequeños o aplicaciones independientes, donde usar grandes herramientas como SQLAlchemy o Django es excesivo:

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 ejemplo funciona fuera de la caja. Nada más que tener peewee (pip install peewee ) es obligatorio.