Подключение к 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
) не требуется.