Python导出mysql 表为sqlalchemy ORM模型

一、使用 sqlacodegen 导出 mysql 表为sqlalchemy ORM模型

1、安装sqlacodegen

pip install sqlacodegen
pip install pymysql

2、导出指定数据表

  • 单表

    sqlacodegen mysql+pymysql://root:password@127.0.0.1:3306/test --tables user --outfile user.py 
    
  • 多表

    sqlacodegen mysql+pymysql://root:password@127.0.0.1:3306/test --tables user,iterm --outfile models.py 
    

3、导出整个数据库

sqlacodegen mysql+pymysql://root:password@127.0.0.1:3306/test --outfile=models.py

二、懒人用法

只让模型代码跟数据库表字段关联,可以直接使用ORM增删改查,但是没办法在模型代码中直观的看到字段名称和字段类型等信息

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql.schema import Table
from sqlalchemy.orm import sessionmaker

engine = create_engine("mysql+pymysql://root:password@localhost:3306/test")
Base = declarative_base()
metadata = Base.metadata
metadata.bind = engine

class User(Base):
    __table__ = Table("user", metadata, autoload=True)

session = sessionmaker(bind=engine)()
user_info = session.query(User).get(1)
print(user_info.nick_name)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。