Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

вторник, 29 марта 2011 г.

Python. Работа с MySQL.

Установка модуля python в Ubuntu:

sudo apt-get install python-mysqldb

import MySQLdb

conn = MySQLdb.connect (host = "localhost",
                           user = "db_user",
                           passwd = "db_pwd",
                           db = "db_name")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()


Если получаем ошибку вида:
...
ImportError: No module named MySQLdb
чаще всего это значит, что в системе несколько версий пайтон и скрипт использует ту для которой не установлен модуль ...

Обработка исключений:

try:
    conn = MySQLdb.connect (host = "localhost",
                             user = "testuser",
                             passwd = "testpass",
                             db = "test")
except MySQLdb.Error, e:
    print "Error %d: %s" % (e.args[0], e.args[1])
    sys.exit (1)


Выборка:

cursor.execute ("SELECT row1, row2 FROM my_table")
while (1):
    row = cursor.fetchone ()
    if row == None:
        break
    print "%s, %s" % (row[0], row[1])
print "Number of rows returned: %d" % cursor.rowcount


Вставка:

cursor.execute ("""
    INSERT INTO animal (name, category)
    VALUES
        ('snake', 'reptile'),
        ('frog', 'amphibian'),
        ('tuna', 'fish'),
        ('racoon', 'mammal')
""")

Комментариев нет:

Отправить комментарий