SQLAlchemy PostgreSQL demo
创建一个test3表
import os from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker from Test3Model import Test3 engine = create_engine('postgresql+psycopg2://postgres:luckygxf@localhost') db = scoped_session(sessionmaker(bind=engine)) def get_engine(): return create_engine('postgresql+psycopg2://postgres:luckygxf@localhost') def get_session(): engine = get_engine() db_session = sessionmaker(bind=engine, autocommit=True) return db_session() def add_test3(test3): session = get_session() session.add(test3) session.flush() test1 = Test3(name='guan4') add_test3(test1)
autocommit: True表示不自动开启事务,使用session.flush会把sql提交给数据库服务器执行sql
autocommit: False表示自动开启事务,开始的时候会开启事务,执行完后需要手动提交事务
session.add(user)不会把sql提交给数据库服务器
mysql和postgresql客户端执行根据autocommit配置不同,处理逻辑不一样
Please call me JiangYouDang!