当前位置: 首页 > news >正文

SQLAlchemy示例(连接数据库插入表数据)

背景需求

连接数据库,插入表中一些数据。

其用户是新建用户,所以只能插入,不能更新。

再次输入数据则使用更新数据语法,这个没调试。

#! /usr/bin/env python
# -*- coding: utf-8 -*-from sqlalchemy import create_engine, Column, BigInteger, Integer, String, SmallInteger, DECIMAL, DateTime
from sqlalchemy.orm import declarative_base, sessionmaker
from datetime import datetime# 1. 创建一个基本的 ORM 映射类
Base = declarative_base()# 2. 创建一个映射到数据库表的类(模型)
class AAAAAA(Base):__tablename__ = 'aaaaaaa'  # 数据库中的表名id = Column(BigInteger, primary_key=True)uid = Column(BigInteger)mid = Column(BigInteger)account_type = Column(SmallInteger)variety_code = Column(String(20))balance = Column(DECIMAL(20, 8))available = Column(DECIMAL(20, 8))freeze = Column(DECIMAL(20, 8))create_time = Column(DateTime)update_time = Column(DateTime)def __repr__(self):# return f"<AAAAAA(uid={self.uid}, mid={self.mid}, account_type={self.account_type}, " \return f"<AAAAAA(id={self.id}, uid={self.uid}, mid={self.mid}, account_type={self.account_type}, " \f"variety_code={self.variety_code}, balance={self.balance}, available={self.available}, " \f"freeze={self.freeze}, create_time={self.create_time}, update_time={self.update_time})>"# 3. 配置数据库连接信息
# 请根据实际情况修改数据库连接 URL 格式:
# 例如 'mysql+mysqlconnector://username:password@host:port/database_name'
DATABASE_URL = 'mysql+pymysql://user:123455hGv@172.31.116.214:3306/passwd'# 4. 创建数据库引擎
engine = create_engine(DATABASE_URL, echo=True)# 5. 创建所有表(如果尚未创建)
Base.metadata.create_all(engine)# 6. 创建 Session 类
Session = sessionmaker(bind=engine)# 7. 插入数据的操作
def insert_data(data):session = Session()# 创建 User 对象并添加到 sessionnew_data = AAAAAA(#id=1306936888,uid=data,mid=1681530298,account_type=1,variety_code='usdt',balance=200.00000000,available=200.00000000,freeze=0.00000000,create_time=datetime.strptime('2024-10-16 14:48:15', '%Y-%m-%d %H:%M:%S'),update_time=datetime.strptime('2024-11-05 11:09:30', '%Y-%m-%d %H:%M:%S'))session.add(new_data)# 提交事务session.commit()# 输出插入的对象print(f"Inserted: {new_data}")# 关闭 sessionsession.close()# def update_data(id):
#     session = Session()
#
#     # 7. 查询是否存在具有该 id 的记录
#     record = session.query(AAAAAA).filter(AAAAAA.id == id).first()#     if record:
#         # 8. 修改记录的字段
#         record.balance = 500.00000000  # 修改余额为 500
#         record.available = 500.00000000  # 修改可用余额为 500
#         record.freeze = 0.00000000  # 修改冻结余额为 0
#         record.update_time = datetime.strptime('2024-12-26 10:00:00', '%Y-%m-%d %H:%M:%S')  # 更新时间
#
#         # 9. 提交事务
#         session.commit()
#         print(f"Updated: {record}")
#     else:
#         print(f"Record with id {id} not found!")
#
#     # 10. 关闭 session
#     session.close()if __name__ == "__main__":uid = "1918509385"insert_data(uid)

相关文章:

SQLAlchemy示例(连接数据库插入表数据)

背景需求 连接数据库&#xff0c;插入表中一些数据。 其用户是新建用户&#xff0c;所以只能插入&#xff0c;不能更新。 再次输入数据则使用更新数据语法&#xff0c;这个没调试。 #! /usr/bin/env python # -*- coding: utf-8 -*-from sqlalchemy import create_engine, …...

Springboot3国际化

国际化实现步骤 Spring Boot 3 提供了强大的国际化支持&#xff0c;使得应用程序可以根据用户的语言和区域偏好适配不同的语言和地区需求。 添加国际化资源文件&#xff1a; 国际化资源文件通常放在 src/main/resources 目录下&#xff0c;并按照不同的语言和地区命名&#xf…...

阿尔萨斯(JVisualVM)JVM监控工具

文章目录 前言阿尔萨斯(JVisualVM)JVM监控工具1. 阿尔萨斯的功能2. JVisualVM启动3. 使用 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff…...

框架专题:反射

1. 什么是反射&#xff1f; 简单来说&#xff0c;反射是一种程序自省的能力&#xff0c;即在程序运行时动态地获取其结构信息或操作其行为。这包括类、方法、属性等元信息。反射的核心在于让代码变得更加动态化&#xff0c;从而突破静态语言的限制。 以Java为例&#xff0c;反…...

【Go】context标准库

文章目录 1. 概述1.1 什么是 Context1.2 设计原理1.3 使用场景源码分析核心:Context接口4个实现6个方法TODO 和 BackgroundWithCancelcancelpropagateCancel 绑定父对象WithTimeout 和 WithDeadlineWithValue总结参考1. 概述 基于版本: go1.22.3/src/context/context.go 1.1…...

LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读

LLMs之o3&#xff1a;《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读 导读&#xff1a;2024年12月&#xff0c;这篇论文提出了一种名为“审慎式对齐 (Deliberative Alignment)”的新方法&#xff0c;旨在提高大型语言模型 (LLM) 的安全性。论…...

git设置项目远程仓库指向github的一个仓库

要将你的Git项目设置为指向GitHub上的远程仓库&#xff0c;你需要执行以下步骤&#xff1a; 创建GitHub仓库&#xff1a; 登录到你的GitHub账户。点击右上角的 “” 号&#xff0c;选择 “New repository” 创建一个新的仓库。填写仓库的名称&#xff0c;可以添加描述&#xff…...

实战演练JDK的模块化机制

实战演练JDK的模块化机制--楼兰 带你聊最纯粹的Java ​ 你发任你发,我用Java8。你用的JDK到什么版本了?很多开源框架都已经开始陆续升级JDK版本了。你对于JDK8往后陆陆续续更新的这些版本有什么感觉吗? ​ 很多人会说其实并没有太多的感觉。JDK的新版本不断推出一些不痛不痒…...

jdk17+springboot3项目加密部署

最近项目需要在第三方服务器部署&#xff0c;由于没有交付源码。所以需要将项目加密后再部署。 网上找了一圈&#xff0c;发现xjar这个开源项目&#xff0c;可以将代码加密后进行部署。看了下正是我需要的。 于是按照文档打包加密&#xff0c;但启动的时候居然报错。 这个结…...

rm -rf 删除/下bin lib lib64 sbin软链接系统恢复

背景 不小心删除了/bin、/lib、/lib64和/sbin这些目录的软链接&#xff0c;导致系统中的各种命令都无法正常使用。在尝试多种方法后&#xff0c;包括添加环境变量和使用绝对路径执行命令无法恢复&#xff0c;最终不重装完美解决。 [rootcentos-8 /]# ll 总用量 36 drwxr-xr-x …...

并发与竞争

并发与竞争 并发与竞争的产生 Linux是一个多任务操作系统&#xff0c;肯定会存在多个任务共同操作同一段内存或者设备的情况&#xff0c;多个任务甚至中断都能访问的资源叫做共享资源&#xff0c;就和共享单车一样。在驱动开发中要注意对共享资源的保护&#xff0c;也就是要处…...

Java后端开发 ”Bug“ 分享——订单与优惠卷

“优惠券风波”&#xff1a;一段代码引发的线上事故 起因&#xff1a;优惠券功能上线 故事的开始源于公司新上线的一项促销活动——在用户未使用优惠券时&#xff0c;系统会自动赠送一张优惠券。这个功能不仅能提升用户体验&#xff0c;还能拉动平台的销售额。为了赶上活动上…...

Linux系统之tee命令的基本使用

Linux系统之tee命令的基本使用 一、tee命令介绍二、tee命令的使用帮助2.1 tee命令的help帮助2.2 tee命令帮助解释 三、tee命令的基本使用3.1 写入文件3.2 追加文件3.3 结合sudo命令3.4 结合EOF使用 四、注意事项 一、tee命令介绍 tee 是 Linux 和 Unix 系统中的一个命令&#x…...

idea 8年使用整理

文章目录 前言idea 8年使用整理1. 覆盖application配置2. 启动的时候设置编辑空间大小&#xff0c;并忽略最大空间3. 查询类的关系4. 查看这个方法的引用关系5. 查看方法的调用关系5.1. 查看被调用关系5.2. 查看调用关系 6. 方法分隔线7. 选择快捷键类型8. 代码预览插件9. JReb…...

多个微服务 Mybatis 过程中出现了Invalid bound statement (not found)的特殊问题

针对多个微服务的场景&#xff0c;记录一下这个特殊问题&#xff1a; 如果启动类上用了这个MapperScan注解 在resource 目录下必须建相同的 com.demo.biz.mapper 目录结构&#xff0c;否则会加载不到XML资源文件 。 并且切记是com/demo/biz 这样的格式创建&#xff0c;不要使用…...

k8s,service如何找到容器

Kubernetes之所以需要Service&#xff0c;一方面是因为Pod的IP不是固定的&#xff0c;另一方面则是因为一组Pod实例之间总会有负载均衡的需求 被selector选中的Pod&#xff0c;就称为Service的Endpoints&#xff0c;查看方式&#xff1a; kubectl get endpoints hostnames需要…...

观察者模式和发布-订阅模式有什么异同?它们在哪些情况下会被使用?

大家好&#xff0c;我是锋哥。今天分享关于【观察者模式和发布-订阅模式有什么异同&#xff1f;它们在哪些情况下会被使用&#xff1f;】面试题。希望对大家有帮助&#xff1b; 观察者模式和发布-订阅模式有什么异同&#xff1f;它们在哪些情况下会被使用&#xff1f; 1000道 …...

docker compose deploy fate cluster

官方文档 写的不清晰 KubeFATE&#xff0c;用于生成部署脚本&#xff0c;链接 部署机就是下载了 KubeFATE的主机&#xff1b;运行机就是要安装fate容器的主机&#xff08;部署机和运行机可以相同&#xff09; 两个主机&#xff1a;并非必须 centos7&#xff0c;Ubuntu也行Doc…...

字节跳动Java开发面试题及参考答案(数据结构算法-手撕面试题)

怎么判断两个链表是否相交?怎么优化? 判断两个链表是否相交可以采用多种方法。 一种方法是使用双指针。首先分别遍历两个链表,得到两个链表的长度。然后让长链表的指针先走两个链表长度差的步数。之后,同时移动两个链表的指针,每次比较两个指针是否指向相同的节点。如果指…...

网工日记:FTP工作模式

FTP 基本概念 FTP&#xff08;File Transfer Protocol&#xff09;即文件传输协议&#xff0c;是用于在网络上进行文件传输的标准协议。它运行在 TCP/IP 协议栈之上&#xff0c;采用客户端 - 服务器&#xff08;C/S&#xff09;架构&#xff0c;通过在客户端和服务器之间建立控…...

OpenClaw语音交互扩展:Qwen3-14b_int4_awq对接Whisper实现语音指令

OpenClaw语音交互扩展&#xff1a;Qwen3-14b_int4_awq对接Whisper实现语音指令 1. 为什么需要语音交互能力 作为一个长期依赖键盘输入的开发者&#xff0c;我最初对语音交互持怀疑态度——直到上个月连续加班导致手腕腱鞘炎发作。当连敲空格键都变成折磨时&#xff0c;才意识…...

芯片测试实战:Tessent EDT的External Flow与Internal Flow到底怎么选?

芯片测试实战&#xff1a;Tessent EDT的External Flow与Internal Flow到底怎么选&#xff1f; 在芯片设计领域&#xff0c;测试覆盖率与效率直接影响产品良率和上市时间。作为DFT&#xff08;可测试性设计&#xff09;工程师&#xff0c;我们常常面临一个关键决策&#xff1a;如…...

如何利用地理位置信息优化网站的本地SEO效果

如何利用地理位置信息优化网站的本地SEO效果 在当今数字化时代&#xff0c;网站的本地SEO&#xff08;搜索引擎优化&#xff09;效果直接影响着网站的流量和用户转化率。利用地理位置信息进行本地SEO优化&#xff0c;不仅能够提升网站在本地用户中的可见性&#xff0c;还能有效…...

数据库SQL中的IN, NOT IN和NULL

一. 首先SQL中有一个原则: NULL与任何值比较都没结果 二. 假定有以下两个表: 表t1:idname1A2B3NULL表t2:idname1A2C3NULL1. 当使用 IN 查询 select * from t1 where t1.name in (select t2.name from t2);等价于 (t1.name1 t2.name1 or t1.name1 t2.name2 or ... ) or (t1.na…...

16 指挥AI写数据库SQL代码:增删改查与存储过程实现

指挥AI写数据库SQL代码:增删改查与存储过程实现 摘要 本文为《30天掌控AI编程:从指令到落地,手把手教你指挥AI写代码》系列第十六篇,属于第三阶段多场景实战核心内容。本篇聚焦企业级SQL代码生成,针对零基础、无数据库开发经验的使用者,拆解指挥AI编写规范、高效、可直…...

.NET AgentFramework实战:构建高可用多智能体工作流与微服务集成

1. 为什么需要多智能体工作流&#xff1f; 在现代化企业级应用中&#xff0c;业务逻辑往往涉及多个服务的协同处理。想象一下电商系统中的订单处理流程&#xff1a;需要同时调用库存服务、支付服务、物流服务和风控系统。传统做法是编写硬编码的调用链&#xff0c;但这种紧耦合…...

第6章 Mosquitto用户认证与访问控制

第6章 用户认证与访问控制 6.1 认证机制概览 #mermaid-svg-MTeZFweZQcx9XrLR{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:…...

如何构建一个高效的知识/信息资源管理体系?启雀的功能优势介绍

面对海量的数字信息&#xff0c;构建一个高效的知识/信息资源管理体系至关重要。这不仅能提升个人和团队的工作效率&#xff0c;还能将零散的信息转化为有价值的组织智慧。高效知识管理方法一个完整的知识管理流程通常包含收集、整理、沉淀和应用四个环节。你可以结合以下方法来…...

2025届学术党必备的六大AI辅助论文方案解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 将人工智能技术应用于内容创作领域的重要的AI写作软件&#xff0c; 正逐渐改变传统写作模式&…...

公开信息整理|2026年4月4日:消费复苏、金融调节、教育规范、科技安全与部分国际动态速览

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...