Python 数据库操作:深入浅出 MySQL、PostgreSQL 和 MongoDB
发布时间: 2024-06-18 15:43:44 阅读量: 70 订阅数: 31
![Python 数据库操作:深入浅出 MySQL、PostgreSQL 和 MongoDB](https://img-blog.csdnimg.cn/fadf3f172e3d4fc78af4a76c4732aa8b.png)
# 1. Python 数据库操作概述**
Python 作为一门强大的编程语言,提供了丰富的数据库操作库,使开发者能够轻松地与各种数据库系统进行交互。本章将概述 Python 数据库操作的基本概念和常见任务,为后续章节的深入探讨奠定基础。
在 Python 中,数据库操作通常涉及以下步骤:
- **建立数据库连接:**使用适当的数据库驱动程序建立与数据库系统的连接。
- **执行 SQL 查询:**使用 SQL(结构化查询语言)查询数据库,检索或修改数据。
- **处理查询结果:**解析和处理查询返回的数据,将其转换为 Python 对象。
- **关闭数据库连接:**释放连接资源,关闭与数据库系统的连接。
# 2. MySQL 数据库操作
MySQL 是一个流行的关系型数据库管理系统,在 Python 中使用 MySQLdb 或 pymysql 模块可以轻松操作 MySQL 数据库。
### 2.1 MySQL 数据库连接与操作
#### 2.1.1 连接 MySQL 数据库
```python
import mysql.connector
# 连接到 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
```
- `host`:MySQL 数据库的主机地址或 IP 地址。
- `user`:连接数据库的用户名。
- `password`:连接数据库的密码。
- `database`:要连接的数据库名称。
#### 2.1.2 执行 SQL 查询和更新
连接到数据库后,可以使用 `cursor` 对象执行 SQL 查询和更新操作。
```python
# 创建一个游标对象
cursor = mydb.cursor()
# 执行 SQL 查询
cursor.execute("SELECT * FROM table_name")
# 获取查询结果
result = cursor.fetchall()
# 遍历查询结果
for row in result:
print(row)
```
- `cursor.execute()`:执行 SQL 查询或更新语句。
- `cursor.fetchall()`:获取查询结果的所有行。
- `for` 循环:遍历查询结果中的每一行。
### 2.2 MySQL 数据类型与操作
#### 2.2.1 MySQL 数据类型介绍
MySQL 支持多种数据类型,包括:
| 数据类型 | 描述 |
|---|---|
| INT | 整数 |
| FLOAT | 浮点数 |
| VARCHAR | 可变长度字符串 |
| DATE | 日期 |
| DATETIME | 日期和时间 |
#### 2.2.2 数据操作与转换
Python 中可以使用 `str()`、`int()`、`float()` 等函数将数据类型进行转换。
```python
# 将字符串转换为整数
age = int("25")
# 将浮点数转换为字符串
salary = str(1000.50)
# 将日期转换为字符串
date = str(datetime.date(2023, 1, 1))
```
- `int()`:将字符串转换为整数。
- `str()`:将数字或日期转换为字符串。
- `datetime.date()`:创建一个日期对象。
# 3. PostgreSQL 数据库操作
PostgreSQL 是一款功能强大的开源关系型数据库管理系统,以其稳定性、可靠性和可扩展性而闻名。本节将介绍如何使用 Python 连接和操作 PostgreSQL 数据库。
### 3.1 PostgreSQL 数据库连接与操作
#### 3.1.1 连接 PostgreSQL 数据库
要连接 PostgreSQL 数据库,可以使用 `psycopg2` 库。首先,需要安装 `psycopg2` 库:
```
pip install psycopg2
```
然后,可以使用以下代码连接到 PostgreSQL 数据库:
```python
import psycopg2
# 连接到数据库
conn = psycopg2.connect(
host="localhost",
port=5432,
database="test_db",
user="postgres",
password="my_password",
)
# 创建游标
cur = conn.cursor()
```
其中,`host` 是数据库服务器的主机名或 IP 地址,`port` 是数据库服务器的端口号,`database` 是要连接的数据库名称,`user` 是数据库用户名,`password` 是数据库密码。
#### 3.1.2
0
0