ГЛАВНАЯ      ДОКУМЕНТАЦИЯ      СТАТЬИ      ПРОГРАММЫ      ССЫЛКИ      ФОРУМ      ДРУГОЕ   

Использование модуля 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>
Для отключения вводим "Ctrl-D". Это может не работать в случае, если не запущен сервер MySQL, или нет базы данных "test" (должна создаваться автоматически для отладки), или нет прав доступа (должны быть установлены автоматически). Устраняем, проверяем. 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
>>>
Для выхода из интерпретатора вводим "Ctrl-D". Команда "import MySQLdb" может давать ошибку если модуль отсутствует или не найден. Если модуль не установлен в системе: скачиваем его с https://prdownloads.sourceforge.net/mysql-python/ и устанавливаем; или берем архив MySQLdb (может не работать в некоторых системах) и размещаем MySQLdb, _mysql_exceptions.py, _mysql_exceptions.pyc и _mysql.so в подкаталоге Python "site-packages" или текущем каталоге будущего проекта (проверять из каталога проекта). Повторно проверяем.
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 : ",
list=string.split(sys.stdin.readline())
Insert(curs,list)
Select(curs)
5. Проверяем:
./main.py

model: mouse     cost: 1.7
Enter <name price>:  hdd 56.7

 model: mouse    cost: 1.7
 model: hdd      cost: 56.7
На этом все.

Источники:
        cetus.com.ua

ПОМОЩЬ САЙТУ :
sms.Є®ЇЁ«Є  *PythonUA*
Для чего Вы используете Python?
Admin( 46 )
Web( 61 )
GUI( 37 )
Embedding ( 16 )
Другое( 34 )
Какими продуктами Вы пользовались?
Zope( 15 )
Plone( 1 )
TG( 7 )
Django( 15 )
Twisted( 5 )
Другими( 10 )
ДРУЗЬЯ:
LUG.DN.UA
D-FENS.ORG.UA
SLAV0NIC.XSS.RU
CETUS.COM.UA
ENTDEV.ORG
[Python Powered]
Rambler's Top100
Copyright © 2006 python.com.ua