Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verbinde ich mich mit einer MySQL-Datenbank in Python?

Verbindung zu MYSQL mit Python 2 in drei Schritten

1 - Einstellung

Sie müssen einen MySQL-Treiber installieren, bevor Sie irgendetwas tun. Im Gegensatz zu PHP wird bei Python standardmäßig nur der SQLite-Treiber installiert. Das dafür am häufigsten verwendete Paket ist MySQLdb aber es ist schwer, es mit easy_install zu installieren. Bitte beachten Sie, dass MySQLdb nur Python 2 unterstützt.

Für Windows-Benutzer können Sie eine exe von MySQLdb erhalten .

Für Linux ist dies ein Casual-Paket (python-mysqldb). (Sie können sudo apt-get install python-mysqldb verwenden (für Debian-basierte Distributionen), yum install MySQL-python (für RPM-basiert) oder dnf install python-mysql (für moderne Fedora-Distributionen) in der Befehlszeile zum Herunterladen.)

Für Mac können Sie Installieren Sie MySQLdb mit Macport .

2 - Nutzung

Starten Sie nach der Installation neu. Dies ist nicht obligatorisch, aber es wird mich daran hindern, 3 oder 4 andere Fragen in diesem Beitrag zu beantworten, wenn etwas schief geht. Also bitte neu starten.

Dann ist es wie bei jedem anderen Paket:

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

Natürlich gibt es tausend Möglichkeiten und Optionen; Dies ist ein sehr einfaches Beispiel. Sie müssen sich die Dokumentation ansehen. Ein guter Ausgangspunkt .

3 – Erweiterte Nutzung

Sobald Sie wissen, wie es funktioniert, möchten Sie vielleicht ein ORM verwenden um zu vermeiden, SQL manuell zu schreiben und Ihre Tabellen so zu manipulieren, als wären sie Python-Objekte. Das bekannteste ORM in der Python-Community ist SQLAlchemy .

Ich rate Ihnen dringend, es zu verwenden:Ihr Leben wird viel einfacher sein.

Ich habe kürzlich ein weiteres Juwel in der Python-Welt entdeckt:peewee . Es ist ein sehr leichtes ORM, wirklich einfach und schnell einzurichten und dann zu verwenden. Es versüßt mir den Tag für kleine Projekte oder eigenständige Apps, bei denen die Verwendung großer Tools wie SQLAlchemy oder Django übertrieben ist :

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

Dieses Beispiel funktioniert sofort. Nichts anderes als Peewee (pip install peewee ) ist erforderlich.