Python 3 介绍(二十二)--mysql-connector-python

目录

安装 mysql-connector-python

基本使用示例

1. 连接到数据库

2. 插入数据

3. 更新数据

4. 删除数据

进阶功能

1. 使用事务

2. 批量插入数据

3. 使用字典游标

错误处理

总结


 

mysql-connector-python 是一个用于 Python 的 MySQL 数据库驱动程序,它允许 Python 应用程序与 MySQL 数据库进行交互。这个驱动程序提供了高级别的 API,支持多种 Python 版本,并且兼容多种操作系统。

安装 mysql-connector-python

在开始使用 mysql-connector-python 之前,你需要先安装它。可以使用 pip 来安装:

 

bash

深色版本

1pip install mysql-connector-python

基本使用示例

下面是一个简单的示例,展示如何使用 mysql-connector-python 连接到 MySQL 数据库,并执行一些基本操作。

1. 连接到数据库

 

python

深色版本

1import mysql.connector
2
3# 创建连接
4cnx = mysql.connector.connect(
5    host='localhost',
6    user='your_username',
7    password='your_password',
8    database='your_database'
9)
10
11# 创建游标对象
12cursor = cnx.cursor()
13
14# 执行 SQL 查询
15query = "SELECT * FROM your_table"
16cursor.execute(query)
17
18# 获取查询结果
19rows = cursor.fetchall()
20
21# 打印结果
22for row in rows:
23    print(row)
24
25# 关闭游标和连接
26cursor.close()
27cnx.close()

2. 插入数据

 

python

深色版本

1import mysql.connector
2
3# 创建连接
4cnx = mysql.connector.connect(
5    host='localhost',
6    user='your_username',
7    password='your_password',
8    database='your_database'
9)
10
11# 创建游标对象
12cursor = cnx.cursor()
13
14# 插入数据
15insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
16values = ('value1', 'value2')
17cursor.execute(insert_query, values)
18
19# 提交事务
20cnx.commit()
21
22# 关闭游标和连接
23cursor.close()
24cnx.close()

3. 更新数据

 

python

深色版本

1import mysql.connector
2
3# 创建连接
4cnx = mysql.connector.connect(
5    host='localhost',
6    user='your_username',
7    password='your_password',
8    database='your_database'
9)
10
11# 创建游标对象
12cursor = cnx.cursor()
13
14# 更新数据
15update_query = "UPDATE your_table SET column1 = %s WHERE column2 = %s"
16values = ('new_value', 'value_to_match')
17cursor.execute(update_query, values)
18
19# 提交事务
20cnx.commit()
21
22# 关闭游标和连接
23cursor.close()
24cnx.close()

4. 删除数据

 

python

深色版本

1import mysql.connector
2
3# 创建连接
4cnx = mysql.connector.connect(
5    host='localhost',
6    user='your_username',
7    password='your_password',
8    database='your_database'
9)
10
11# 创建游标对象
12cursor = cnx.cursor()
13
14# 删除数据
15delete_query = "DELETE FROM your_table WHERE column2 = %s"
16value = ('value_to_delete',)
17cursor.execute(delete_query, value)
18
19# 提交事务
20cnx.commit()
21
22# 关闭游标和连接
23cursor.close()
24cnx.close()

进阶功能

1. 使用事务

在执行需要保证数据完整性的操作时,可以使用事务来保证数据的一致性。

 

python

深色版本

1import mysql.connector
2
3try:
4    # 创建连接
5    cnx = mysql.connector.connect(
6        host='localhost',
7        user='your_username',
8        password='your_password',
9        database='your_database'
10    )
11
12    # 创建游标对象
13    cursor = cnx.cursor()
14
15    # 开始事务
16    cnx.start_transaction()
17
18    # 执行多个SQL语句
19    insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
20    values = ('value1', 'value2')
21    cursor.execute(insert_query, values)
22
23    update_query = "UPDATE your_table SET column1 = %s WHERE column2 = %s"
24    values = ('new_value', 'value_to_match')
25    cursor.execute(update_query, values)
26
27    # 提交事务
28    cnx.commit()
29
30except mysql.connector.Error as err:
31    # 如果发生错误,则回滚事务
32    cnx.rollback()
33    print(f"Error: {err}")
34
35finally:
36    # 关闭游标和连接
37    cursor.close()
38    cnx.close()

2. 批量插入数据

批量插入数据可以提高性能。

 

python

深色版本

1import mysql.connector
2
3# 创建连接
4cnx = mysql.connector.connect(
5    host='localhost',
6    user='your_username',
7    password='your_password',
8    database='your_database'
9)
10
11# 创建游标对象
12cursor = cnx.cursor()
13
14# 数据集
15data = [
16    ('value1', 'value2'),
17    ('value3', 'value4'),
18    ('value5', 'value6')
19]
20
21# 批量插入数据
22insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
23cursor.executemany(insert_query, data)
24
25# 提交事务
26cnx.commit()
27
28# 关闭游标和连接
29cursor.close()
30cnx.close()

3. 使用字典游标

字典游标可以让你以键值对的形式访问查询结果。

 

python

深色版本

1import mysql.connector
2
3# 创建连接
4cnx = mysql.connector.connect(
5    host='localhost',
6    user='your_username',
7    password='your_password',
8    database='your_database'
9)
10
11# 创建字典游标对象
12cursor = cnx.cursor(dictionary=True)
13
14# 执行 SQL 查询
15query = "SELECT * FROM your_table"
16cursor.execute(query)
17
18# 获取查询结果
19rows = cursor.fetchall()
20
21# 打印结果
22for row in rows:
23    print(row['column1'], row['column2'])
24
25# 关闭游标和连接
26cursor.close()
27cnx.close()

错误处理

在使用 mysql-connector-python 时,可能会遇到一些错误,例如连接失败、查询错误等。通常需要使用 try-except 语句来处理这些错误。

 

python

深色版本

1import mysql.connector
2
3try:
4    # 创建连接
5    cnx = mysql.connector.connect(
6        host='localhost',
7        user='your_username',
8        password='your_password',
9        database='your_database'
10    )
11
12    # 创建游标对象
13    cursor = cnx.cursor()
14
15    # 执行 SQL 查询
16    query = "SELECT * FROM your_table"
17    cursor.execute(query)
18
19    # 获取查询结果
20    rows = cursor.fetchall()
21
22    # 打印结果
23    for row in rows:
24        print(row)
25
26except mysql.connector.Error as err:
27    print(f"Error: {err}")
28finally:
29    # 关闭游标和连接
30    cursor.close()
31    cnx.close()

总结

mysql-connector-python 是一个功能强大且易用的 MySQL 数据库驱动程序,支持多种 Python 版本。通过上述示例,你应该能够掌握如何使用 mysql-connector-python 连接到 MySQL 数据库,并执行基本的 CRUD 操作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值