SQLAlchemy
— это
программная библиотека
на языке
Python
для работы с
реляционными СУБД
с применением технологии
ORM
. Служит для синхронизации объектов Python и записей реляционной базы данных. SQLAlchemy позволяет описывать структуры баз данных и способы взаимодействия с ними на языке Python без использования
SQL
. Библиотека была выпущена в феврале 2006 под
лицензией открытого ПО MIT
.
Работает back-end для баз данных:
MySQL
,
PostgreSQL
,
SQLite
,
Oracle
и других,
между которыми можно переключаться изменением конфигурации
.
Поддержка отношений между классами, в том числе «один-ко-многим» и «многие-ко-многим»
Поддержка ссылающихся на себя объектов
Предварительная и последующая обработка данных (параметров запроса, результата)
и другие
.
Преимущества использования
Использование SQLAlchemy для автоматической генерации SQL-кода имеет несколько преимуществ по сравнению с ручным написанием SQL
:
Безопасность. Параметры запросов экранируются, что делает атаки типа
внедрение SQL-кода
маловероятными.
Производительность. Повышается вероятность повторного использования запроса к серверу базы данных, что может позволить ему в некоторых случаях применить повторно
план выполнения запроса
.
Переносимость
. SQLAlchemy, при должном подходе, позволяет писать код на Python, совместимый с несколькими back-end СУБД. Несмотря на стандартизацию языка SQL, между базами данных имеются различия в его реализации, абстрагироваться от которых и помогает SQLAlchemy.
Пример
Простейший пример с использованием SQLAlchemy в оперативной памяти:
SQLAlchemy находит применение в веб-фреймворках
TurboGears
,
Pylons
,
Pyramid
,
Zope
. Например, известный социальный новостной сайт
Reddit
построен с использованием SQLAlchemy
. Список организаций, использующих SQLAlchemy, можно найти на сайте проекта
.
У SQLAlchemy имеется несколько аналогов, в том числе:
(англ.)
(
и
(англ.)
(
.
Примечания
↑
(неопр.)
. Дата обращения: 26 июня 2009.
2 апреля 2012 года.
— 2024.
— 2006.
— 2006.
↑
, p. 154—155.
от 21 октября 2012 на
Wayback Machine
,
SQLAlchemy released 0.1.0 in February 2006
— O’Reilly Media
(неопр.)
. Дата обращения: 30 июля 2012. Архивировано из
15 июня 2012 года.
(неопр.)
. Дата обращения: 30 июля 2012.
15 июня 2012 года.
, p. 15.
(неопр.)
. Дата обращения: 4 августа 2012.
30 мая 2008 года.
(неопр.)
. Дата обращения: 22 октября 2019.
3 ноября 2019 года.
Ссылки
(англ.)
Gift, Noah
(неопр.)
.
Developerworks
. IBM.
2 апреля 2012 года.