Подтвердить что ты не робот

Зачем использовать SQLAlchemy? Это очень удобно для кодирования?

Будучи очень знакомым с написанием простых SQL в Python, я не понял преимуществ, которые я мог бы получить, используя SQLAlchemy или другие ORM.

Он предназначен для тех, кто не любит SQL в программах? Или это делает ваш script пересекающим разные типы баз данных?

Или это делает ваш script более Pythonic?

Или он очень подходит для некоторых задач, связанных с базовой базой данных, и он автоматически выполняет много тривиальных вещей для вас, поэтому вы просто пишете 2-3 строки кодов, вызывающих SQLAlchemy, и он выполняет все операции с триавой базой данных для вас

Было бы очень полезно, если кто-то может предоставить коды, демонстрирующие использование простого SQL vs с использованием SQLALchemy и демонстрируя преимущества над простым SQL.

Спасибо!

4b9b3361

Ответ 1

Вы проверили это? https://groups.google.com/forum/?fromgroups=#!topic/sqlalchemy/VXXB12-3JCY

Кроме того, сравнение Django ORM и SQL Alchemy:

http://blog.mathieu-leplatre.info/sqlalchemy-a-brave-new-world.html

Вставьте форму ответа в вышеуказанную ссылку google groups:

Марк Эрбог 22/11/2010

У меня нет кода примера, но я написал несколько приложений Python (и одно приложение на С++) с использованием простого SQL и начал работу над новым приложением, используя SQLAlchemy, поэтому я поделюсь своим опыт.

Позвольте добавить, что я провел несколько лет, поддерживая умеренный размер SQL и написал много чистого SQL, хотя и не обязательно используя Python.

Как мои программы обращались к SQL, я обнаружил, что пишу много кода SQL для доступа к данным. Многие из этого кода, хотя и не идентичны, были очень похоже и казался излишним. Например, возьмите простую одиночную таблицу Погляди. Если вы хотите сделать простой CRUD (создать, обновить и удалить), вы должны писать по крайней мере три отдельных оператора SQL для каждой таблицы. Хотя скелет этих операторов SQL схож, конкретные имена столбцов и имя таблицы разные. В конце концов я написал несколько Подпрограммы Python, которые будут строить инструкции SQL, если я предоставил список столбцов и имя таблицы. Но это то, что делает SQLAlchemy (и многое другое), так зачем изобретать колесо?

В случае моего приложения на С++ (я не нашел подходящую ORM), я оказался написав Python script для генерации операторов SQL и кода на С++ для доступ к таблицам.

Другим преимуществом является относительная легкость, с которой вы можете справиться изменения структуры базы данных. Когда я разрабатывал приложение SA, я понял, что мне нужен новый столбец (по крайней мере) одной из моих таблиц. Я использую декларативный подход SA, и мне нужно было добавить столбец к моему декларативному. Мне не нужно было менять код SQL или Python.

Одна "проблема", с которой я столкнулась с SQLAlchemy, не понимает, как я это делал вещи с чистым SQL. На этом простейшем уровне SQLAlchemy может генерировать код SQL и Python для доступа к отдельным таблицам, и вы можете соблазн написать код Python для объединения такого вида доступа к одной таблице в больших графиках данных, но истинная мощность (IMHO) SQLAlchemy что он может обрабатывать сложные графики данных автоматически.

Марк