В настоящее время я использую sqlalchemy
в качестве пакета для работы с MySQL
базами данных. Все базы данных большие и были созданы до этого программного обеспечения, которое работает с ними, поэтому я не создал ORM-классы для взаимодействия с ними в сеансе в sqlalchemy
. В настоящее время я работаю над ними, создав engine
, а затем используя transaction
следующим образом
from sqlalchemy import create_engine
mysql_engine = create_engine(**connection_parameters)
connection = mysql_engine.connect()
trans = connection.begin()
try:
connection.execute("INSERT INTO FROM table (id, name) VALUES (1, 'foo')")
trans.commit()
res = conn.execute("SELECT * FROM table").fetchall()
print(res)
except:
trans.rollback()
Это частично из учебника по sqlalchemy . Верно ли мое понимание того, что engine
- это в основном шаблон для установления соединений? Кроме того, есть ли преимущество в использовании sqlalchemy
для баз данных, если я не использую ORM и использую соединения с ним с необработанными операторами SQL
? Это быстрее или имеет преимущества перед использованием чего-то вроде pymysql
или MySQLdb
?