Python导出mysql 表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 
  • 导出整个数据库
sqlacodegen mysql+pymysql://root:password@127.0.0.1:3306/test --outfile=models.py

3、sqlacodegen 参数说明

# --schema SCHEMA load tables from an alternate schema # 指定表,默认是全部的表 
# -tables TABLES tables to process (comma-separated, default: all)
# noviews ignore views
# noclasses don't generate classes, only tables 
# 指定生成模型类文件
# outfile OUTFILE file to write output to (default: stdout>sqlacodegen -h
usage: sqlacodegen [-h] [--version] [--schema SCHEMA] [--tables TABLES] [--noviews] [--noindexes][--noconstraints] [--nojoined] [--noinflect] [--noclasses] [--nocomments][--outfile OUTFILE][url]Generates SQLAlchemy model code from an existing database.positional arguments:url                SQLAlchemy url to the databaseoptional arguments:-h, --help         show this help message and exit--version          print the version number and exit--schema SCHEMA    load tables from an alternate schema--tables TABLES    tables to process (comma-separated, default: all)--noviews          ignore views--noindexes        ignore indexes--noconstraints    ignore constraints--nojoined         don't autodetect joined table inheritance--noinflect        don't try to convert tables names to singular form--noclasses        don't generate classes, only tables--nocomments       don't render column comments--outfile OUTFILE  file to write output to (default: stdout)

sqlacodegen 是命令级别,添加模型类以及构建拓展类 可以结合 subprocess 或 os 模块进行脚本化操作

4、生成SQLite数据库模型

from sqlalchemy import create_engineengine = create_engine('sqlite:///mydatabase.db')
from models import Base, User# 创建表
Base.metadata.create_all(engine)# 插入数据
user = User(name='John Doe', email='johndoe@example.com')
session.add(user)
session.commit()# 查询数据
users = session.query(User).all()
for user in users:print(user.name, user.email)

使用sqlacodegen生成模型代码:

sqlacodegen sqlite:///mydatabase.db --outfile models.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大量用户中招,远控木马已经潜伏各类在线会议平台

从 2023 年 12 月开始,研究人员发现有攻击者创建虚假 Skype、Google Meet 和 Zoom 网站来进行恶意软件传播。攻击者为安卓用户投递 SpyNote 远控木马,为 Windows 用户投递 NjRAT 和 DCRAT 远控木马。 攻击行动概述 攻击者在单个 IP 地址上部署了所有的虚…

小白入手实现AI客服机器人demo

一、环境准备 1 安装python 2 安装vscode 3 安装相关python库 pip install flask flask_cors openai 4.在vscode里安装TONGYI Lingma(AI编程助手) 二、后端搭建 创建一个后端文件夹chatbot,再新建一个app.py的python文件 from flask import Flask, requ…

electron下载失败(electron如何切换镜像源)

打开: 或者: C:\Users\用户名\.npmrc 添加: electron_mirrorhttps://npmmirror.com/mirrors/electron/ 到文件中,保存 方法二: npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ ELECTR…

【Python入门与进阶】Python文件与文件夹操作

在Python中,你可以使用os模块来进行文件和文件夹的操作。下面是一些常用的文件和文件夹操作示例: 文件操作 打开文件:使用open()函数打开文件。可以指定文件名、打开模式(读取、写入、追加等),并返回一个…

AIOps在业务运维的最佳应用实践

随着企业IT基础架构的复杂性日益增加,传统运维模式难以满足高效、稳定的业务需求。AIOps(人工智能运维)作为一种新兴技术,通过数据驱动的自动化和智能化手段,有效提升了IT运维的效率和可靠性。本文将探讨AIOps在业务运…

FPGA的基础仿真项目--七段数码管设计显示学号

一、设计实验目的 1. 了解数码管显示模块的工作原理。 2. 熟悉VHDL 硬件描述语言及自顶向下的设计思想。 3. 掌握利用FPGA设计6位数码管扫描显示驱动电路的方法。 二、实验设备 1. PC机 2.Cyclone IV FPGA开发板 三、扫描原理 下图所…

PHP邮箱服务器搭建与配置教程?如何使用?

PHP邮箱服务器搭建的步骤?服务器搭建的注意事项? 在当今的数字化时代,电子邮件仍然是沟通和业务处理的重要工具之一。通过PHP搭建和配置一个邮箱服务器,您可以实现自主掌控邮件系统,确保数据的安全性和隐私性。AokSen…

VMWARE安装Centos8,并且使用ssh连接虚拟机

VMWARE安装Centos8,并且使用ssh连接虚拟机 安装VMWARE安装Centos 8SSH连接 安装VMWARE 参考这篇文章: https://blog.csdn.net/weixin_74195551/article/details/127288338 安装Centos 8 首先在aliyun镜像仓库下载: https://mirrors.aliyun.com/centos/8/isos/x86_64/ 我下载…

如何拥有自己的微信小程序

如何拥有自己的微信小程序 ~~话先放在这里~~ 写在前面申请一个属于自己的小程序先去[微信开放平台](https://open.weixin.qq.com/home)申请一个你的小程序扫码申请新小程序小程序该记好的个人信息 安装微信开发者工具下载工具关联你的小程序请求域名配置发布小程序 BUY一个自己…

高考之后,专业与学校如何选择?

随着2024年高考的结束,考生们面临着选择专业或学校的难题。选择专业意味着专注于一个特定领域,直接影响未来的职业发展和兴趣培养;而选择学校则提供了更优越的学术氛围和广泛的社交机会,对个人综合素质提升有重要作用。无论选择哪…

基于YOLOv8m的船舶检测(附数据集和Coovally操作步骤)

本文主要内容:详细介绍了船舶检测整个过程,从创建数据集到训练模型再到预测结果全部可视化操作与分析。 文末有数据集获取方式,请先看检测效果 现状 船舶检测和识别是一项重要的任务,它涉及到航运安全、港口管理、海洋保护等方面&#xff0c…

使用 cx_Oracle 在 Oracle 中等待记录并执行操作

问题背景: 在第一个 Python 项目中,需要等待记录被插入 Oracle 表中,一旦记录存在,就调用 Python 函数。目前使用 cx_Oracle 库,采用一种无限循环的方式来查询表。如果记录存在,就调用函数,然后…

在ubuntu16中下载VMware Tools工具

一、打开植入 二、开始安装 打开驱动放置的默认位置 在这里打开终端;添加到/home/你的用户名/Downloand/中 进入后解压 然后进去解压后的文件 终端输入 sudo ./vmware-install.pl 开始安装前的配置(很麻烦跟着输就行) 继续 出现如上…

八分钟生成一篇两万字的文章演示——《基于灰色预测的人口预测模型》

文章目录 工具使用 《基于灰色预测的人口预测模型》-全文由AI一次性生成文献综述研究方法模型开发灰色预测模型的数学构建参数估计模型验证 案例研究案例研究描述数据收集与预处理灰色预测模型的应用 文献综述研究方法模型开发灰色预测模型的数学构建参数估计模型验证 案例研究…

SOLIDWORKS教育版:开启数字化设计新时代的钥匙

在数字化设计的世界里,SolidWorks无疑是一个重量级的角色。那么,你是否想过,当solidworks遇上教育版,会碰撞出怎样的火花呢? SolidWorks教育版是专为学生、教师以及教育机构量身定制的一款强大工具。它不仅继承了Soli…

【Qt】QCoreApplication::processEvents的简单使用

QCoreApplication::processEvents(QEventLoop::AllEvents, 100); void Widget::on_pushButton_clicked() {qDebug() << "pushButton 1 ... " ;// 模拟一个长时间运行的循环for(int i 0; i < 10; i) {qDebug() << "Loop iteration 1 " <…

Bazel:构建和测试工具

Bazel是一款开源的构建和测试工具&#xff0c;它与Make、Maven和Gradle等工具类似&#xff0c;但具有一些独特的优势。 1. 主要特点和优势 高级构建语言&#xff1a;Bazel使用人类可读的抽象语言&#xff0c;从高语义级别描述项目的构建属性。这使得构建过程更加直观和易于理…

关于事务流的思考

关于事务流的思考 1 事务流业务分析 ​ 不同业务可能有不同的审核流程&#xff0c;而activiti为大家提供了一套公用的审核功能&#xff0c;基于这些功能我们可以根据自己的业务需求组合出我们自己的审核流程&#xff0c;而这里我要实现的事务流有如下功能&#xff1a;角色为结…

售前方案VS产品经理

售前和产品经理分别是做什么的 售前方案&#xff1a;主要负责在销售过程中与客户沟通&#xff0c;了解客户需求&#xff0c;提供技术支持和解决方案演示的技术人员。协助销售团队与客户沟通&#xff0c;帮助客户理解产品特性和技术细节&#xff0c;确保产品与客户需求匹配。售前…

智能体(Agent)实战——从gpts到auto gen

一.GPTs 智能体以大模型作为大脑,同时配备技能,使其能够完成具体的任务。同时,为了应用于垂直领域,我们需要为大模型定义一个角色,并构建知识库。最后,定义完整的流程,使其完成整个任务。以组会汇报的智能体为例,定义如下 1.创建自己的gpt 2.角色定义 该 Agent 是一种智…