Tilslutning til MYSQL med Python 2 i tre trin
1 - Indstilling
Du skal installere en MySQL-driver, før du gør noget. I modsætning til PHP er kun SQLite-driveren installeret som standard med Python. Den mest brugte pakke til at gøre det er MySQLdb men det er svært at installere det med easy_install. Bemærk venligst, at MySQLdb kun understøtter Python 2.
For Windows-brugere kan du få en exe af MySQLdb .
Til Linux er dette en afslappet pakke (python-mysqldb). (Du kan bruge sudo apt-get install python-mysqldb
(for debian-baserede distros), yum install MySQL-python
(for rpm-baseret), eller dnf install python-mysql
(til moderne fedora distro) i kommandolinjen for at downloade.)
Til Mac kan du installer MySQLdb ved hjælp af Macport .
2 - Brug
Efter installation, genstart. Dette er ikke obligatorisk, men det vil forhindre mig i at besvare 3 eller 4 andre spørgsmål i dette indlæg, hvis noget går galt. Så genstart venligst.
Så er det ligesom at bruge enhver anden pakke :
#!/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()
Selvfølgelig er der tusindvis af muligheder og muligheder; dette er et meget grundlæggende eksempel. Du bliver nødt til at se på dokumentationen. Et godt udgangspunkt .
3 - Mere avanceret brug
Når du ved, hvordan det virker, kan du bruge en ORM for at undgå at skrive SQL manuelt og manipulere dine tabeller, da de var Python-objekter. Den mest berømte ORM i Python-fællesskabet er SQLAlchemy .
Jeg anbefaler dig kraftigt at bruge det:dit liv bliver meget nemmere.
Jeg har for nylig opdaget en anden juvel i Python-verdenen:peewee . Det er en meget let ORM, virkelig nem og hurtig at konfigurere og derefter bruge. Det gør min dag til små projekter eller selvstændige apps, hvor det er overdrevet at bruge store værktøjer som SQLAlchemy eller Django :
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
Dette eksempel fungerer ud af boksen. Intet andet end at have peewee (pip install peewee
) er påkrævet.