Проект «SnakeProject» Михаила Козлова

Навигация

⇒ Python ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

SQL\T-SQL

FreeBSD and Nix

Общая

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


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

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

Контакты для обмена ссылками между сайтами Видео к статьям на Youtube Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и Linux Код обмена баннерами
Мои друзья: www.info-x.org - Информационный ресурс о ОС FreeBSD За сложными вещами простые действия Новости Ubuntu Linux Сообщество сисадминов Личный сайт skeletora Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика

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