Python编程:使用sqlalchemy对数据库进行增删改查

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: Python编程:使用sqlalchemy对数据库进行增删改查

文档:https://docs.sqlalchemy.org/en/13/core/engines.html


链接字符串


# default
engine = create_engine('mysql://scott:tiger@localhost/foo')
# mysqlclient (a maintained fork of MySQL-Python)
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
# PyMySQL
engine = create_engine('mysql+pymysql://scott:tiger@localhost/foo')

管理数据库连接


# -*- coding: utf-8 -*-
from sqlalchemy import create_engine, text
db_url = "mysql://root:123456@127.0.0.1:3306/demo"
engine = create_engine(db_url, echo=True)
db = engine.connect()
db.close()

备注:echo 参数可以开启SQL语句日志打印


1、插入数据

insert = "insert into student(name)values(:name)"
# 插入数据 单条
dct = {"name": "Tom"}
result = db.execute(text(insert), dct)
print(result.rowcount)  # 1
# 插入数据 多条
# 注意:
# peewee的特殊字符: %
# pymysql的特殊字符: ?
# 都能正常写入,不需要特殊转义
data = [
    {"name": "Tom"},
    {"name": "Tom?"},
    {"name": "Tom%"}
]
result = db.execute(text(insert), data)
print(result.rowcount) # 3

2、删除数据

delete = "delete from student where id=1"
result = db.execute(text(delete))
print(result.rowcount) # 1

3、修改数据

update = "update student set sex='2' where id=1"
result = db.execute(text(update))
print(result.rowcount)  # 1

4、查询数据

select = "select id, name from student where id=1"
result = db.execute(text(select))
print(result.keys())  # ['id', 'name']
print(result.fetchall())  # [(50, 'Tom')]
print(result.rowcount)  # 1
for row in cursor:
   print(row["name"])
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
312 7
|
2月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
180 3
|
2月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
436 3
|
2月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
266 3
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
266 0
|
数据库 Python
Python Flask SQLAlchemy上下文介绍
如果您打算仅使用一个应用程序(app),则可以在很大程度上跳过本文。只要将您的应用程序传递给SQLAlchemy 构造函数,就可以设置好了。但是,如果要使用多个应用程序,或者要在要读取的功能中动态创建该应用程序。
389 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
292 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
314 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
262 103
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
193 82

热门文章

最新文章

推荐镜像

更多