Łączenie z MYSQL za pomocą Pythona 2 w trzech krokach
1 – Ustawienie
Zanim cokolwiek zrobisz, musisz zainstalować sterownik MySQL. W przeciwieństwie do PHP, tylko sterownik SQLite jest domyślnie instalowany w Pythonie. Najczęściej używanym pakietem do tego celu jest MySQLdb ale trudno go zainstalować za pomocą easy_install. Pamiętaj, że MySQLdb obsługuje tylko Pythona 2.
Dla użytkownika Windows możesz pobrać exe MySQLdb .
Dla Linuksa jest to zwykły pakiet (python-mysqldb). (Możesz użyć sudo apt-get install python-mysqldb
(dla dystrybucji opartych na debianie), yum install MySQL-python
(dla opartego na rpm) lub dnf install python-mysql
(dla współczesnej dystrybucji Fedory) w wierszu poleceń do pobrania.)
W przypadku komputerów Mac możesz zainstaluj MySQLdb używając Macport .
2 – Użycie
Po zainstalowaniu uruchom ponownie. Nie jest to obowiązkowe, ale uniemożliwi mi udzielenie odpowiedzi na 3 lub 4 inne pytania w tym poście, jeśli coś pójdzie nie tak. Więc proszę zrestartuj.
Wtedy jest tak, jak z każdym innym pakietem :
#!/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()
Oczywiście możliwości i opcji jest tysiąc; to jest bardzo prosty przykład. Będziesz musiał zajrzeć do dokumentacji. Dobry punkt wyjścia .
3 – Bardziej zaawansowane użycie
Gdy już wiesz, jak to działa, możesz użyć ORM aby uniknąć ręcznego pisania SQL i manipulowania tabelami tak, jak były obiektami Pythona. Najbardziej znanym ORM w społeczności Pythona jest SQLAlchemy .
Gorąco radzę ci z niego korzystać:twoje życie będzie znacznie łatwiejsze.
Niedawno odkryłem kolejny klejnot w świecie Pythona:peewee . Jest to bardzo lekki ORM, naprawdę łatwy i szybki w konfiguracji, a następnie w użyciu. To sprawia, że mój dzień dla małych projektów lub samodzielnych aplikacji, gdzie używanie dużych narzędzi, takich jak SQLAlchemy lub Django, jest przesadą :
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
Ten przykład działa po wyjęciu z pudełka. Nic innego niż peewee (pip install peewee
) jest wymagane.