Ansluter till MYSQL med Python 2 i tre steg
1 - Inställning
Du måste installera en MySQL-drivrutin innan du gör något. Till skillnad från PHP är endast SQLite-drivrutinen installerad som standard med Python. Det mest använda paketet för att göra det är MySQLdb men det är svårt att installera det med easy_install. Observera att MySQLdb endast stöder Python 2.
För Windows-användare kan du få en exe av MySQLdb .
För Linux är detta ett tillfälligt paket (python-mysqldb). (Du kan använda sudo apt-get install python-mysqldb
(för debianbaserade distros), yum install MySQL-python
(för rpm-baserad), eller dnf install python-mysql
(för modern fedora distro) på kommandoraden för att ladda ner.)
För Mac kan du installera MySQLdb med Macport .
2 – Användning
Efter installationen, starta om. Detta är inte obligatoriskt, men det kommer att hindra mig från att svara på 3 eller 4 andra frågor i det här inlägget om något går fel. Så vänligen starta om.
Då är det precis som att använda vilket annat paket som helst :
#!/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()
Naturligtvis finns det tusentals möjligheter och alternativ; detta är ett mycket grundläggande exempel. Du måste titta på dokumentationen. En bra utgångspunkt .
3 – Mer avancerad användning
När du vet hur det fungerar kanske du vill använda en ORM för att undvika att skriva SQL manuellt och manipulera dina tabeller eftersom de var Python-objekt. Den mest kända ORM i Python-communityt är SQLAlchemy .
Jag råder dig starkt att använda det:ditt liv kommer att bli mycket lättare.
Jag upptäckte nyligen en annan juvel i Python-världen:peewee . Det är en mycket lite ORM, riktigt enkel och snabb att installera och sedan använda. Det gör min dag för små projekt eller fristående appar, där det är överdrivet att använda stora verktyg 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
Det här exemplet fungerar direkt. Inget annat än att ha peewee (pip install peewee
) krävs.