把数据库模式反射到ORM风格的类中,可以使用SQLAlchemy扩展模块中的automap(自动映射)
为了反射数据库,需要使用automap_base。
from sqlalchemy import create_engine, select
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
# 使用automap_base()创建一个Base对象
Base = automap_base()
# Create an engine to connect to the database
engine = create_engine('mysql+pymysql://airflow:airflow@22.188.14.145:3306/Mainframe?charset=utf8')
# Base对象的方法prepare(),将扫描引擎上所有可用内容,并反射它能反射的所有内容
Base.prepare(engine, reflect=True)
k = Base.classes.keys()
print(k)
my_cookies = Base.classes.cookies
my_users = Base.classes.users
session = Session(engine)
for my_cookie in session.query(my_cookies).limit(10):
print(my_cookie.cookie_id, my_cookie.cookie_name)