|
Cetus Group
Информационные системы и программное обеспечение
Меню
Файлы проекта
Поддержка
E-mail:
cetus@ukr.net
|
Работа с СУБД MySQL из Python
Размещено 06.01.2006 : Редакция 18.02.2006
А.Г. © Часть 1 - "Использование модуля MySQLdb"Для работы понадобится работающий сервер баз данных MySQL с базой данных "test" и модуль MySQLdb. 1. Для проверки сервера MySQL вводим в командной строке ("красным" выделены приглашения и результаты выполнения команд): cetus@linux:~> mysql test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version: 4.1.13 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 2. Для проверки модуля MySQLdb выполняем: cetus@linux:~> python Python 2.4.1 (#1, Sep 13 2005, 00:39:20) [GCC 4.0.2 20050901 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb >>> 3. Создаем таблицу в базе данных, для этого в командном интерпретаторе выполняем команду: mysql test < create_db.sql 4. Пишем модуль main.py для работы с базой данных. Модуль выводит содержимое БД, формирует запрос на ввод новых данных, заносит их в БД и повторно выводит содержимое БД.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import string
from MySQLdb import connections
def Connect(db,host):
db=connections.Connection(db=db, host=host)
return db.cursor()
def Select(curs):
row=curs.execute("SELECT * from device;")
rw=curs.fetchone()
for i in range(row):
print "model: %s\t cost: %s" % (rw[1],rw[2])
rw=curs.fetchone()
def Insert(curs,list):
row=curs.execute("INSERT INTO device VALUES(0,'%s','%s')" % (list[0],list[1]))
curs=Connect('test','localhost')
Select(curs)
print "Enter
5. Проверяем: ./main.py model: mouse cost: 1.7 Enter <name price>: hdd 56.7 model: mouse cost: 1.7 model: hdd cost: 56.7 |