Пишу больше для себя, чтобы впредь не рыться в гугле. Однако, думаю, что и читателю «со стороны» будет понятно.
- Пребполагается, что сам Python уже установлен и читатель владеет основами языка.
- Устанавливаем модуль для работы с базами данных. Таких модулей несколько, мы будем использовать MySQLdb (пакет называется
python-mysqldb
). В Ubuntu достаточно сделать apt-get install python-mysqldb , чтобы установить данный пакет. - Когда пакет установлен, можно начать его использование. Для этого нужно его импортировать в наш код:
import _mysql
- Чтобы подключиться к базе данных используйте
db = _mysql.connect("localhost","user","password","dbname");
- Отправляем запрос базе командой
db.query("""SELECT * FROM table""")
- Принимаем ответ от базы с помощью
answ = db.store_result()
илиansw = db.use_result()
. Разница этих двух методов в том, что первый получит сразу весь ответ базы, а второй будет получать его построчно(с сервера). Визуально они выглядят одинаково: и первый и второй при вызове будут отдавать по одной записи (строке), но в реальности store_result() один лишь раз обратится к базе(и сразу весь ответ будет держать у себя), а db.use_result() будет построчно спрашивать у сервера баз данных. - Для реального получения данных используем
answ.fetch_row()
. При каждом вызове будет выводиться кортеж кортежей полей. То есть(('поле 1', 'поле 2', … ,'поле n'),)
Мне понравилась эта заметка: