Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Python⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA

Python + MS SQL. Библиотека Pyodbc


Перед тем, как использовать библиотеку pyodbc, ее нужно установить, в windows например это просто сделать скачав installer например отсюда: https://code.google.com/p/pyodbc/

Данные примеры проверялись на Python 3.3

Далее импортируем библиотеку:

import pyodbc

Как подключиться к базе:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.1;DATABASE=BaseName;UID=User;PWD=Password')
cursor = cnxn.cursor()

Примеры, как сделать выборку:

Выберем одно значение:

cursor.execute("select id, name from test")
row = cursor.fetchone()
if row:
    print(row)

Обратимся к значениям по индексу стобца или его имени:

cursor.execute("select id, name from test")
row = cursor.fetchone()
print(row[1])
print(row.name)

Перебираем значения:

while 1:
    row = cursor.fetchone()
    if not row:
        break
    print(row.id)

Используем fetchall() для перебора значений:

cursor.execute("select id, name from test")
rows = cursor.fetchall()
for row in rows:
    print( row.id, row.name)

Перебираем значения:

cursor.execute("select id, name from test"):
for row in cursor:
    print(row.id, row.name)

for row in cursor.execute("select id, name from test"):
    print(row.id, row.name)

#Запрос на нескольких строках:

cursor.execute("""
               select id, name
                 from test
                where change = '2014-01-16'
               """)

#Подставляем значение в указанное место:

row = cursor.fetchone()
print '%d is name' % row.name

Добавление строк:

cursor.execute("insert into test(id, name) values ('4', 'py4')")
cnxn.commit()

#Удаление строк:

cursor.execute("delete from test where id = 4")
cnxn.commit()

#Изменение строк

conn.execute("update test  set name = 'py44' where ID=4")
conn.commit()

#Создание таблиц

conn.execute('''create table text
       (id INT NOT NULL,
       name varchar(15)
       );''')

#В принципе на этом все, это конечно не все возможности библиотеки, но этого вполне хватит для понимания.

#Обязательно фиксируйте при изменении данных cnxn.commit()

#Видео на YouTube: https://www.youtube.com/watch?v=tTjbIwzZ0Yk


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru