Время прочтения: 3 мин.
Для работы импортируем необходимые библиотеки:
import pyodbc
В случае, если данная библиотека отсутствует на устройстве, в командной строке запустите команду:
pip install pyodbc
Данный модуль упрощает доступ к базам данных через программный интерфейс ODBC (Open Database Connectivity)
Далее создаём строку подключения к нашей базе данных:
connectionString = ("Driver = {SQL Server Native Client 11.0};""Server =YOUR SERVER;"
"Database = audTv;""Trusted_Connection=yes")
где Driver – драйвер Microsoft ODBC для SQL Server. Обеспечивает возможность подключения к Microsoft SQL Server из Windows.
Server – указание сервера, на котором будут храниться (хранятся) наши таблицы:
Trusted Connection – указывает на способ подключения пользователей к БД. В случае, если указано значение «yes», для проверки подлинности используется учётная запись Windows, а ключи UID и PWD игнорируются, и наоборот, при выборе значения «no».
После заполнения строки подключения данными, выполним соединение к нашей базе данных:
connection = pyodbc.connect(connectionString, autocommit=True)
Создадим курсор, с помощью которого, посредством передачи запросов будем оперировать данными в нашей таблице:
dbCursor = connection.cursor()
Теперь можно написать наш первый запрос! Допустим, у нас есть таблица с данными о книгах, связанных с проектированием баз данных. Данная таблица будет содержать следующие данные: название книги, имя(имена) автора(ов) книги, год издания и краткое описание.
Добавим данные в нашу таблицу с помощью кода на python:
requestString = ””” INSERT INTO Books(name,author,publicationYear,descript) VALUES
('Рефакторинг баз данных. Эволюционное проектирование','Скотт В. Эмблер, Прамодкумар Дж. Садаладж',2007,'В книге представлены советы по улучшению кода для баз данных'),
('Базы данных. Проектирование и разработка','Рэймонд Фрост, Джон Дей, Крейг Ван Слайк',2007,'Довольно популярная книга по проектированию и рефакторингу')
”””
dbCursor.execute(requestString)
connection.commit()
Проверим нашу таблицу (для проверки использовался SQL Server Management Studio):
Наш запрос успешно выполнен, но стоит отметить, что возможности использования библиотеки pyodbc не ограничиваются заполнением таблиц данными. Попробуем выбрать данные из нашей таблицы:
requestString2 = ”””select name,author from Books where publicationYear=2007”””
dbCursor.execute(requestString)
for row in dbCursor:
print(“Название книги: ” + row.name + “Автор(ы) книги: ” + row.author)
Результат работы программы:
Так же есть возможность сохранения результата запроса в объект DataFrame, для дальнейшей обработки средствами библиотеки pandas:
import pandas as pd
from IPython.display import display
df = pd.read_sql_query(requestString,connection)
display(df.head())
Результат работы программы:
Таким образом, сегодня мы научились с помощью скриптов на языке python посредством библиотеки pyodbc создавать запросы для работы с SQL серверами, что может быть использовано для удобства работы с данными в повседневной деятельности аудитора.