Python SQLAlchemy 完整指南

更多学习内容:ipengtao.com

对于 SQL 数据库操作,SQLAlchemy 是 Python 中功能强大且广泛使用的库。它提供了多种方式来与数据库交互,包括创建表、查询、插入、更新和删除数据。以下是一个详细的 SQLALchemy 教程,包括基础的连接数据库,创建表,以及查询、插入、更新和删除数据的示例代码。

引言

SQLAlchemy 是一个强大的 Python 库,用于数据库操作。无论是简单的数据存储还是复杂的数据管理,SQLAlchemy 都提供了多种方法来处理数据库。本文将全面介绍 SQLAlchemy 的基本用法以及各种操作的示例代码。

安装 SQLAlchemy

在使用 SQLAlchemy 之前,需要先安装它。

通过以下命令进行安装:

bash 复制代码
pip install sqlalchemy

连接数据库

首先,连接到数据库。

python 复制代码
from sqlalchemy import create_engine

# 创建数据库引擎
engine = create_engine('sqlite:///my_database.db', echo=True)

# 在内存中创建数据库
# engine = create_engine('sqlite:///:memory:', echo=True)

这段代码创建了一个数据库引擎,连接到 SQLite 数据库,echo=True 参数用于在终端输出 SQL 查询语句。

定义表结构

接下来,创建一个数据表。

python 复制代码
from sqlalchemy import Table, Column, Integer, String, MetaData

metadata = MetaData()

# 创建一个数据表
users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
    Column('age', Integer)
)

metadata.create_all(engine)

这段代码使用 SQLAlchemy 定义了一个名为 users 的数据表,包含 idnameage 三个字段。

插入数据

python 复制代码
# 插入数据
conn = engine.connect()

insert_query = users.insert().values(name='Alice', age=25)
conn.execute(insert_query)

insert_data = [
    {'name': 'Bob', 'age': 30},
    {'name': 'Charlie', 'age': 22}
]

conn.execute(users.insert(), insert_data)

这个示例演示了如何向表中插入数据。

查询数据

python 复制代码
from sqlalchemy.sql import select

# 查询数据
select_query = select([users])
result = conn.execute(select_query)

for row in result:
    print(row)

这段代码查询并打印出 users 表中的所有数据。

更新数据

python 复制代码
# 更新数据
update_query = users.update().where(users.c.id == 1).values(name='Alex')
conn.execute(update_query)

这个示例演示了如何更新表中的数据。

删除数据

python 复制代码
# 删除数据
delete_query = users.delete().where(users.c.id == 2)
conn.execute(delete_query)

这段代码演示了如何删除表中的数据。

总结

SQLAlchemy是一个功能强大的Python库,可用于简化数据库操作。本教程提供了SQLAlchemy基本用法示例,包括连接数据库、创建表、以及查询、插入、更新和删除数据。首先,使用create_engine()函数连接到数据库,然后使用MetaData()定义表结构。通过insert()插入数据,select()查询数据,update()更新数据,delete()删除数据。

这些示例展示了SQLAlchemy简单而强大的功能,使用户能够轻松管理数据库。通过SQLAlchemy,用户可以更高效地进行数据库操作,从而在数据存储和管理方面获得更好的灵活性和控制力。 SQLALchemy的强大功能和灵活性使其成为Python中处理数据库的首选工具之一,适用于多种应用场景,从小型应用到大型企业级系统。


Python学习路线

更多学习内容:ipengtao.com

相关推荐
Jinkey3 分钟前
要用户手机号真的是为了打骚扰电话吗?浅谈微信生态会员账号体系与资产合并
后端·微信·微信小程序
葫芦和十三11 分钟前
图解 MongoDB 06|模式演进:无 schema 是优势还是债
后端·mongodb·agent
修己xj7 小时前
端午逢夏至,父爱正当时:三个节日教会我的事
程序员
葫芦和十三8 小时前
图解 MongoDB 05|文档模型设计:内嵌 vs 引用,反范式不是免费午餐
后端·mongodb·agent
不能放弃治疗11 小时前
单 Agent 实现模式
后端
兵慌码乱12 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
IT_陈寒13 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter14 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
luckdewei15 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python