【基础】Python与数据库:初识Python数据库库
发布时间: 2024-06-27 09:38:03 阅读量: 66 订阅数: 120
![【基础】Python与数据库:初识Python数据库库](https://images.ctfassets.net/23aumh6u8s0i/3n0YP76FgDncQCjCcNpj8y/7d8b894146ceb3e54df60555e6c7f5c9/class_diagram_tuto)
# 2.1 数据库连接的建立和关闭
### 2.1.1 连接参数的配置
数据库连接需要指定一系列参数,包括数据库类型、主机地址、端口号、用户名、密码和数据库名称等。这些参数通常通过一个连接字符串来指定,格式因不同的数据库类型而异。
例如,对于 MySQL 数据库,连接字符串可以如下所示:
```python
import mysql.connector
connection_string = {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "password",
"database": "mydb"
}
```
### 2.1.2 连接对象的获取和释放
建立数据库连接后,需要获取一个连接对象。连接对象提供了执行 SQL 语句和处理结果的方法。
```python
import mysql.connector
connection = mysql.connector.connect(**connection_string)
```
连接对象获取后,需要在使用完毕后释放,以释放系统资源。
```python
connection.close()
```
# 2. Python数据库库的连接和操作
### 2.1 数据库连接的建立和关闭
#### 2.1.1 连接参数的配置
建立数据库连接需要配置连接参数,这些参数通常包括:
- **主机名或IP地址:**数据库服务器的地址。
- **端口号:**数据库服务器监听的端口。
- **用户名:**连接数据库的用户名。
- **密码:**连接数据库的密码。
- **数据库名:**要连接的数据库名称。
在Python中,可以使用以下代码配置连接参数:
```python
import mysql.connector
# 连接参数
connection_config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': 'password',
'database': 'test_db'
}
```
#### 2.1.2 连接对象的获取和释放
使用配置好的连接参数,可以获取数据库连接对象:
```python
# 获取连接对象
connection = mysql.connector.connect(**connection_config)
```
获取连接对象后,就可以执行SQL语句和处理结果。使用完毕后,需要释放连接对象,以释放资源:
```python
# 释放连接对象
connection.close()
```
### 2.2 SQL语句的执行和结果处理
#### 2.2.1 SQL语句的语法和执行
SQL语句是与数据库交互的语言,其语法由SQL标准定义。在Python中,可以使用以下代码执行SQL语句:
```python
# 执行SQL语句
cursor = connection.cursor()
cursor.execute("SELECT * FROM users")
```
#### 2.2.2 查询结果的获取和遍历
执行查询语句后,可以获取查询结果:
```python
# 获取查询结果
result = cursor.fetchall()
# 遍历查询结果
for row in result:
print(row)
```
查询结果是一个元组列表,其中每个元组代表一行数据。可以通过遍历元组来获取每一列的数据。
# 3. Python数据库库的高级应用
### 3.1 事务管理
#### 3.1.1 事务的概念和操作
事务是数据库中一组操作的集合,这些操作要么全部成功,要么全部失败。事务可以确保数据的完整性和一致性,避免在执行多个操作时出现数据不一致的情况。
在Python中,可以使用`connection.begin()`和`connection.commit()`方法来管理事务。`connection.begin()`方法开始一个事务,而`connection.commit()`方法提交事务,使事务中的所有操作永久生效。如果事务中发生任何错误,可以使用`connection.rollback()`方法回滚事务,取消所有未提交的操作。
**示例:**
```python
import mysql.connector
# 建立数据库连接
connection =
```
0
0