目录
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 操作。