news 2026/6/21 11:23:26

pycharm python sqlalchemy mysql增删改查实例csdn

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pycharm python sqlalchemy mysql增删改查实例csdn

在Python中使用SQLAlchemy与MySQL进行数据库操作,在PyCharm中实现增删改查(CRUD)操作,你需要按照以下步骤进行:

步骤 1: 安装必要的库

首先,确保你已经安装了SQLAlchemymysqlclientpymysql。你可以通过pip安装这些库:

pip install sqlalchemy mysqlclient # 或者使用 pymysql pip install sqlalchemy pymysql

步骤 2: 创建数据库连接

在你的Python脚本中,首先需要创建到MySQL数据库的连接。

from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String # 定义数据库连接字符串 DATABASE_URL = "mysql+mysqlconnector://username:password@localhost/dbname" # 或者使用 pymysql # DATABASE_URL = "mysql+pymysql://username:password@localhost/dbname" # 创建数据库引擎 engine = create_engine(DATABASE_URL) Session = sessionmaker(bind=engine) session = Session() Base = declarative_base()

步骤 3: 定义模型(ORM)

定义一个或多个模型(ORM类),这些类将映射到数据库表。

class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50)) age = Column(Integer)

步骤 4: 创建表(可选)

如果你还没有创建表,可以通过下面的代码创建表:

Base.metadata.create_all(engine)

步骤 5: 执行CRUD操作

增加(Create)
new_user = User(name='Alice', age=30) session.add(new_user) session.commit(
读取(Read)
user = session.query(User).filter_by(name='Alice').first() print(user.name, user.age)
更新(Update)
user = session.query(User).filter_by(name='Alice').first() if user: user.age = 31 # 更新年龄为31岁 session.commit() # 提交更改到数据
删除(Delete)
user = session.query(User).filter_by(name='Alice').first() if user: session.delete(user) # 删除用户Alice的记录 session.commit() # 提交更改到数据库

步骤 6: 关闭会话(重要)

在完成数据库操作后,不要忘记关闭会话:

session.close() # 或者使用 session.close_all() 来关闭所有会话(如果你使用了多个会话)

完整示例代码:

将上述步骤整合到一个完整的脚本中:

from sqlalchemy import create_engine, Column, Integer, String, func, and_, or_ # 可能需要的导入项增加了一些额外的导入项以展示更多功能。例如:and_, or_用于更复杂的查询。 func用于SQL函数。根据需要添加更多。确保你已经定义了User类。 如果你使用的是pymysql,确保在创建引擎时使用了正确的URL格式。 例如:DATABASE_URL = "mysql+pymysql://username:password@localhost/dbname" 。 如果你使用的是mysqlclient,则不需要更改URL格式。 只需确保安装了mysqlclient包。如果你使用的是其他MySQL驱动, 如mysql-connector-python,则应相应地更改URL格式为"mysql+mysqlconnector://..."。 确保根据你的数据库配置替换username、password和dbname。 如果你使用的是其他驱动,请确保正确地安装了相应的库(例如pymysql或mysqlclient)。 如果你使用的是较新版本的SQLAlchemy和MySQL驱动,可能需要调整导入语句或连接字符串格式。 始终参考最新的SQLAlchemy文档和MySQL驱动文档以获取最新信息。 如果你遇到连接问题,请检查你的数据库用户权限和防火墙设置。 如果你使用的是Docker容器或云数据库服务,请确保你的数据库URL是正确的, 并且你的PyCharm项目配置了正确的解释器和环境变量。如果你使用的是远程数据库, 请确保你的网络连接是可用的,并且你的数据库服务器监听在正确的端口上。 如果你在Windows系统上遇到问题,请确保你的

python

from sqlalchemy import create_engine, Column, Integer, String, func, and_, or_ # 可能需要的导入项增加了一些额外的导入项以展示更多功能。例如:and_, or_用于更复杂的查询。func用于SQL函数。根据需要添加更多。确保你已经定义了User类。如果你使用的是pymysql,确保在创建引擎时使用了正确的URL格式。例如:DATABASE_URL = "mysql+pymysql://username:password@localhost/dbname" 。如果你使用的是mysqlclient,则不需要更改URL格式。只需确保安装了mysqlclient包。如果你使用的是其他MySQL驱动,如mysql-connector-python,则应相应地更改URL格式为"mysql+mysqlconnector://..."。确保根据你的数据库配置替换username、password和dbname。如果你使用的是其他驱动,请确保正确地安装了相应的库(例如pymysql或mysqlclient)。如果你使用的是较新版本的SQLAlchemy和MySQL驱动,可能需要调整导入语句或连接字符串格式。始终参考最新的SQLAlchemy文档和MySQL驱动文档以获取最新信息。如果你遇到连接问题,请检查你的数据库用户权限和防火墙设置。如果你使用的是Docker容器或云数据库服务,请确保你的数据库URL是正确的,并且你的PyCharm项目配置了正确的解释器和环境变量。如果你使用的是远程数据库,请确保你的网络连接是可用的,并且你的数据库服务器监听在正确的端口上。如果你在Windows系统上遇到问题,请确保你的

收起

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 9:01:47

Data Agent技术介绍(下)

📌 技术干货 共四个阶段 本文为系列下篇,涵盖阶段三:从 Skill 到本体语义层与阶段四:团队技术进展。上篇已介绍阶段一(语义层接入探索)与阶段二(从查数到决策)。系列上篇在这里&…

作者头像 李华
网站建设 2026/6/21 17:35:45

2026年热门手机阅读器社区交流大比拼,谁是你的最佳选择?

在2026年,随着数字阅读的进一步普及和技术的进步,手机阅读器不仅作为获取信息和享受文学作品的工具,也成为了人们分享想法、建立联系的重要平台。针对不同用户的需求与偏好,以下是对几款热门手机阅读器及其社区交流功能的比较分析…

作者头像 李华
网站建设 2026/6/21 21:41:53

iOS设备支持全版本终极指南:告别Xcode调试兼容性问题

iOS设备支持全版本终极指南:告别Xcode调试兼容性问题 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport 你是否曾遇到过Xcode无法识别iOS设备,或者提示&quo…

作者头像 李华
网站建设 2026/6/21 17:30:06

3步完成微信好友关系检测:WechatRealFriends终极使用指南

3步完成微信好友关系检测:WechatRealFriends终极使用指南 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends …

作者头像 李华
网站建设 2026/6/21 17:28:52

数字孪生技术:从原理到智能交通与制造应用

1. 数字孪生技术概述数字孪生(Digital Twin)是指通过数字化手段,在虚拟空间中构建物理实体的全生命周期动态仿真模型。这个技术概念最早由NASA在2010年提出,用于航天器的健康监测和维护。其核心在于建立物理世界与数字世界之间的双…

作者头像 李华