6
使用SQLAlchemy ORM高效地更新数据库
我正在启动一个新应用程序,并考虑使用ORM,尤其是SQLAlchemy。 假设我的数据库中有一列“ foo”,我想增加它。在直通sqlite中,这很容易: db = sqlite3.connect('mydata.sqlitedb') cur = db.cursor() cur.execute('update table stuff set foo = foo + 1') 我弄清楚了SQLAlchemy SQL-builder等效项: engine = sqlalchemy.create_engine('sqlite:///mydata.sqlitedb') md = sqlalchemy.MetaData(engine) table = sqlalchemy.Table('stuff', md, autoload=True) upd = table.update(values={table.c.foo:table.c.foo+1}) engine.execute(upd) 这稍微慢一点,但是没有太多。 这是我对SQLAlchemy ORM方法的最佳猜测: # snip definition of Stuff class made using declarative_base # snip creation …
116
python
orm
sqlalchemy