Python: 使用 ORM 向 MySQL 数据库写入数据

本文根据模型端的上线经验,简要介绍 Python 语言使用 ORM 向 MySQL 数据库写入数据的方式。
经验有限,仅作为笔记和代码分享。


调用第三方库:

from sqlalchemy import Column, Integer, BIGINT, SMALLINT, Boolean, String, DateTime, null
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

数据库连接:

engine = None
DBSession = sessionmaker(bind=engine)
session = DBSession()

def init_engine():
    global engine
    engine_str = "mysql+pymysql://{0}:{1}@{2}:{3}/{4}?charset=utf8" \
        .format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME)
    engine = create_engine(engine_str, echo=False)
    return engine

ORM 对象:

table_name = "table_name"  # 输出表的表名

Base = declarative_base()

class ORMWrite(Base):
    __tablename__ = table_name

    id = Column(BIGINT, primary_key=True, nullable=False, autoincrement=True)
    field_str = Column(String(64), nullable=False)
    field_int = Column(Integer, default=null, nullable=True)
    field_small_int = Column(SMALLINT, default=null)
    create_time = Column(DateTime, default=null)
    update_time = Column(DateTime, default=null)

    comment = dict(field_str="字段_str",
                   field_int="字段_int",
                   field_small_int="字段_small_int",
                   create_time="创建时间",
                   update_time="更新时间")

向数据库写入数据(主程序):

import pandas as pd

# 数据库连接
engine = init_engine()

# 写入数据
df_result.rename(dict([(v, k) for k, v in ORMWrite.comment.items()]), inplace=True, axis=1)
records = df_result.to_dict(orient='record')
self.engine.execute(ORMWrite.__table__.insert(), records)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值