Итак, тут я расскажу как быстро развернуть СУБД мускуль и рулить ей из питона. Начнем. Сперва установим нужные пакеты. Мускуль:
# apt-get install mysql-serverВ процессе установки спросят пароль для рута, лучше ввести что-нибудь и не забыть! Ставим модуль для питона:
# apt-get install python-mysqldbНу вот, после этого было бы неплохо создать базу данных и пользователя к ней. Логинимся под рутом:
$ mysql -u root -pСоздаем базу:
mysql> CREATE DATABASE testdb;Создаем пользователя с паролем 'test', даем все права и выходим:
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'test';Теперь небольшой пример:
mysql> USE testdb;
mysql> GRANT ALL ON testdb.* TO 'user'@'localhost';
mysql> quit;
import MySQLdb as mdbЗдесь просто выполняется запрос "SELECT VERSION()" и соотвественно версия субд выводится на экран. Функция fetchone() возвращает одну строку. Если запрос возвращает множество строк, то чтобы их получить можно использовать fetchall(). Но если записей очень много, то это может быть расточительно для памяти. В таком случае нам поможет атрибут rowcount, где содержится количество строк, которое вернул запрос:
conn = mdb.connect('localhost', 'user', 'test', 'testdb')
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print data
cursor.close()
conn.close()
cursor.execute("SELECT * FROM table")Кстати, row представляет из себя кортеж, так что можно с легкостью получить доступ к каждому элементу выборки. Ну а дальнейшие изыскания ограничиваются только вашими знаниями языка SQL!
numrows = int(cursor.rowcount)
for i in xrange(numrows):
row = cursor.fetchone()
print row
No comments:
Post a Comment