Python 数据库编程实例教程203


简介

数据库是用来存储和管理数据的集合。Python 是一种流行的编程语言,它提供了强大的工具来与数据库交互。本文将介绍 Python 中数据库编程的基础知识,并通过一些实例演示如何使用它。

安装 Python 数据库包

要使用 Python 与数据库交互,首先需要安装适当的数据库包。最流行的 Python 数据库包之一是 SQLAlchemy,它提供了一个统一的接口来连接和操作各种数据库。

要安装 SQLAlchemy,请打开终端或命令提示符,并输入以下命令:```
pip install sqlalchemy
```

连接到数据库

要连接到数据库,可以使用 SQLAlchemy 的 create_engine() 函数。该函数需要数据库的连接字符串作为参数,它指定了数据库的类型、主机、用户名、密码和数据库名称。

例如,要连接到 MySQL 数据库,可以使用以下代码:```
from sqlalchemy import create_engine
engine = create_engine("mysql+pymysql://username:password@host:port/database_name")
```

创建表

在连接到数据库后,可以使用 SQLAlchemy 的 Table() 函数来创建表。Table() 函数需要表的名称和列定义作为参数。列定义是一个 Column() 对象的列表,其中指定了列的名称、数据类型和约束。

例如,要创建一个名为 "users" 的表,其中包含 "id"、"name" 和 "email" 列,可以使用以下代码:```
from sqlalchemy import Table, Column, Integer, String
users = Table("users", engine,
Column("id", Integer, primary_key=True),
Column("name", String(255)),
Column("email", String(255))
)
```

插入数据

要插入数据,可以使用 SQLAlchemy 的 insert() 函数。insert() 函数需要表对象和一个字典作为参数,其中字典的键是列名,值是要插入的数据。

例如,要插入一条包含 "name" 为 "John Doe" 和 "email" 为 "johndoe@" 的数据,可以使用以下代码:```
from sqlalchemy import insert
new_user = {"name": "John Doe", "email": "johndoe@"}
(insert(users), new_user)
```

查询数据

要查询数据,可以使用 SQLAlchemy 的 select() 函数。select() 函数需要表对象作为参数,并返回一个查询对象。查询对象可以使用各种方法来过滤和排序结果。

例如,要查询所有名为 "John" 的用户,可以使用以下代码:```
from sqlalchemy import select
stmt = select(users).where( == "John")
```

更新数据

要更新数据,可以使用 SQLAlchemy 的 update() 函数。update() 函数需要表对象、一个字典和一个 where 子句作为参数。字典指定了要更新的数据,where 子句指定了要更新哪些行。

例如,要更新所有名为 "John" 的用户的电子邮件地址,可以使用以下代码:```
from sqlalchemy import update
stmt = update(users).where( == "John").values(email="new_email@")
```

删除数据

要删除数据,可以使用 SQLAlchemy 的 delete() 函数。delete() 函数需要表对象和一个 where 子句作为参数。where 子句指定了要删除哪些行。

例如,要删除所有名为 "John" 的用户,可以使用以下代码:```
from sqlalchemy import delete
stmt = delete(users).where( == "John")
```

事务

事务是一组数据库操作,要么全部成功,要么全部失败。事务可以确保数据的完整性,防止数据库在某些操作失败时陷入不一致的状态。

在 Python 中,可以使用 SQLAlchemy 的 transaction() 上下文管理器来执行事务。transaction() 上下管理器会自动开始和提交事务,或者在发生异常时回滚事务。

例如,要将用户的数据从一个表转移到另一个表,可以使用以下代码:```
from sqlalchemy import transaction
with () as trans:
# 从 users 表中查询数据
users_data = (select(users)).fetchall()
# 清空 target_users 表
(delete(target_users))
# 将数据插入 target_users 表
for row in users_data:
(insert(target_users), row)
```

Python 为数据库编程提供了强大的工具。通过使用 SQLAlchemy 等库,开发人员可以轻松地连接到数据库、创建表、插入数据、查询数据、更新数据和删除数据。本文介绍了 Python 数据库编程的基础知识,并通过一些实例演示了它们的用法。通过了解这些概念,开发人员可以使用 Python 构建健壮且高效的数据库应用程序。

2024-12-08


上一篇:Python 编程实现 USB 扫描枪接入

下一篇:Python 3 多进程编程: 提升代码并行性的指南