Připojení k MYSQL pomocí Pythonu 2 ve třech krocích
1 – Nastavení
Než cokoliv uděláte, musíte nainstalovat ovladač MySQL. Na rozdíl od PHP je v Pythonu standardně nainstalován pouze ovladač SQLite. Nejpoužívanějším balíčkem k tomu je MySQLdb ale je těžké to nainstalovat pomocí easy_install. Upozorňujeme, že MySQLdb podporuje pouze Python 2.
Pro uživatele Windows můžete získat exe MySQLdb .
Pro Linux se jedná o neformální balíček (python-mysqldb). (Můžete použít sudo apt-get install python-mysqldb
(pro distribuce založené na debianu), yum install MySQL-python
(pro rpm) nebo dnf install python-mysql
(pro moderní distro fedora) v příkazovém řádku ke stažení.)
Pro Mac můžete nainstalujte MySQLdb pomocí Macport .
2 – Použití
Po instalaci restartujte. Toto není povinné, ale zabrání mi to v tomto příspěvku odpovědět na 3 nebo 4 další otázky, pokud se něco pokazí. Takže prosím restartujte.
Pak je to jako používat jakýkoli jiný balíček:
#!/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()
Samozřejmě existuje tisíc možností a možností; toto je velmi základní příklad. Budete se muset podívat do dokumentace. Dobrý výchozí bod .
3 – Pokročilejší použití
Až budete vědět, jak to funguje, možná budete chtít použít ORM abyste se vyhnuli ručnímu psaní SQL a manipulovali s tabulkami tak, jako by to byly objekty Pythonu. Nejznámější ORM v komunitě Pythonu je SQLAlchemy .
Důrazně vám doporučuji jej používat:váš život bude mnohem jednodušší.
Nedávno jsem objevil další klenot ve světě Pythonu:peewee . Je to velmi lite ORM, opravdu snadné a rychlé nastavení a následné použití. Zpříjemňuje mi to malé projekty nebo samostatné aplikace, kde je používání velkých nástrojů, jako je SQLAlchemy nebo Django, přehnané:
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
Tento příklad funguje hned po vybalení. Nic jiného než mít peewee (pip install peewee
) je vyžadováno.