* * * 文章内容仅是作为个人学习记录,如有不足,欢迎指正♥
posts - 19,comments - 0,views - 10243
复制代码
# 配置引擎,建立数据库的链接
from sqlalchemy import create_engine,MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy_utils import create_database,database_exists

engine = create_engine("mysql+pymysql://root:密码@机器:3306/数据库名称?charset=utf8&autocommit=true", echo=True, max_overflow=5,
                         pool_recycle=60, pool_pre_ping=True)
# 判断写入的数据库是否存在
if not database_exists(engine.url):
    create_database(engine.url)

# 创建ORM对象的基类,用于后续创建class类
Base = declarative_base()
# 创建metadate对象,关联engine使用metadata创建数据库表 metadata = MetaData(engine) # 定义session会话对象,创建一个会话,便于后面对数据库进行实际操作 Session = sessionmaker() session = Session(bind=engine) ===================================== from lib.sqlalchemyengine import Base,engine from sqlalchemy import Column,Integer,String,DateTime from sqlalchemy.sql import func class Application(Base): # 数据库表名称 __tablename__ = 'application_work_order' # 字段名称,integer:整数,coilumn:列,string:字符串 app_id=Column(Integer,primary_key=True) app_name=Column(String(250)) sys_id=Column(Integer) deploy_environment=Column(String(50)) deploy_link=Column(String(250)) deploy_link_desc=Column(String(50)) create_time = Column(DateTime(), server_default=func.now()) update_time = Column(DateTime(), server_default=func.now())  # 类里的方法 def to_json(self): dict = self.__dict__ if "_sa_instance_state" in dict: del dict["_sa_instance_state"] return dict # 实体类里字段转换成json格式 def obj2json(self): return { "app_id":self.app_id, "app_name":self.app_name, "sys_id" : self.sys_id, "deploy_environment":self.deploy_environment, "deploy_link":self.deploy_link, "deploy_link_desc":self.deploy_link_desc, "create_time":self.create_time, "update_time":self.update_time } # 父类Base调用所有继承他的子类来创建表结构 # Base.metadata.create_all(engine) 总结:使用sqlalchemy的四部走 create_engine,配置引擎,建立数据库链接 Base = declarative_base(),生成ORM基类,用于创建class类 Base.metadata.create_all(engine),#关联engine使用metadata(元数据)创建数据库表 Session = sessionmaker(),#创建一个会话,便于后面对数据库进行实际操作 session = Session(bind=engine) 建立链接,关系映射,创建库表,操作库表
复制代码

 

posted on   __陈胖胖  阅读(1967)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示