Свързване с MYSQL с Python 2 в три стъпки
1 - Настройка
Трябва да инсталирате MySQL драйвер, преди да правите каквото и да било. За разлика от PHP, само драйверът на SQLite се инсталира по подразбиране с Python. Най-използваният пакет за това е MySQLdb но е трудно да го инсталирате с easy_install. Моля, имайте предвид, че MySQLdb поддържа само Python 2.
За потребител на Windows можете да получите exe на MySQLdb .
За Linux това е случаен пакет (python-mysqldb). (Можете да използвате sudo apt-get install python-mysqldb
(за базирани на debian дистрибуции), yum install MySQL-python
(за базирани на rpm) или dnf install python-mysql
(за модерна Fedora дистрибуция) в командния ред за изтегляне.)
За Mac можете да инсталирайте MySQLdb с помощта на Macport .
2 - Използване
След инсталиране рестартирайте. Това не е задължително, но ще ми попречи да отговоря на 3 или 4 други въпроса в тази публикация, ако нещо се обърка. Така че, моля, рестартирайте.
Тогава е точно като използването на всеки друг пакет :
#!/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()
Разбира се, има хиляди възможности и опции; това е много елементарен пример. Ще трябва да разгледате документацията. Добра отправна точка .
3 – По-разширено използване
След като разберете как работи, може да искате да използвате ORM за да избегнете ръчно писане на SQL и да манипулирате вашите таблици, тъй като те са Python обекти. Най-известният ORM в общността на Python е SQLAlchemy .
Силно ви съветвам да го използвате:животът ви ще бъде много по-лесен.
Наскоро открих друго бижу в света на Python:peewee . Това е много олекотен ORM, наистина лесен и бърз за настройка, след което се използва. Това прави деня ми за малки проекти или самостоятелни приложения, където използването на големи инструменти като SQLAlchemy или 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
Този пример работи извън кутията. Нищо друго освен да имате peewee (pip install peewee
) се изисква.