在Python中连接MySQL数据库是实现数据交互的重要步骤。通过Python与MySQL数据库的连接,可以实现对数据库的查询、插入、更新和删除等操作。以下是详细的连接步骤和相关说明。
一、安装必要的库
在使用Python连接MySQL数据库之前,需要安装一个数据库连接器。常用的库有 mysql-connector-python 和 pymysql。可以通过以下命令进行安装:
pip install mysql-connector-python
运行
或者:
pip install pymysql
运行
二、连接MySQL数据库
1. 使用 mysql-connector-python 连接
import mysql.connector
# 建立数据库连接
mydb = mysql.connector.connect(
host="localhost", # 数据库主机名
user="yourusername", # 数据库用户名
password="yourpassword", # 数据库密码
database="yourdatabase" # 数据库名称
)
# 检查连接是否成功
if mydb.is_connected():
print("Connected to MySQL database")
运行
2. 使用 pymysql 连接
import pymysql
# 建立数据库连接
conn = pymysql.connect(
host='localhost', # 数据库主机名
user='root', # 数据库用户名
password='1234567', # 数据库密码
database='netbuy', # 数据库名称
port=3306, # 数据库端口
charset='utf8' # 字符集
)
# 检查连接是否成功
if conn.open:
print("Connected to MySQL database")
运行
三、创建游标对象
连接成功后,需要创建一个游标对象,用于执行SQL查询和获取结果。
# 创建游标对象
cursor = mydb.cursor() # 使用 mysql-connector-python
# cursor = conn.cursor() # 使用 pymysql
运行
四、执行SQL查询
通过游标对象的 execute() 方法执行SQL查询,并获取结果。
1. 查询数据
# 执行查询
cursor.execute("SELECT * FROM your_table")
# 获取所有结果
result = cursor.fetchall()
for row in result:
print(row)
运行
2. 插入数据
# 插入数据
sql = "insert INTO your_table (column1, column2) VALUES (%s, %s)"
val = ("value1", "value2")
cursor.execute(sql, val)
mydb.commit() # 提交更改
print("记录插入成功")
运行
3. 更新数据
# 更新数据
sql = "UPDATE your_table SET column1 = %s WHERE column2 = %s"
val = ("new_value", "old_value")
cursor.execute(sql, val)
mydb.commit()
print("记录更新成功")
运行
4. 删除数据
# 删除数据
sql = "delete FROM your_table WHERE column1 = %s"
val = ("value1",)
cursor.execute(sql)
mydb.commit()
print("记录删除成功")
运行
五、关闭连接
完成数据库操作后,需要关闭游标和连接,以释放资源。
# 关闭游标
cursor.close()
# 关闭连接
mydb.close() # 使用 mysql-connector-python
# conn.close() # 使用 pymysql
运行
六、处理异常
在连接和操作数据库时,可能会遇到各种异常。使用 try-except-finally 块可以更好地处理这些异常。
try:
# 建立连接
mydb = mysql.connector.connect(...)
# 创建游标
cursor = mydb.cursor()
# 执行查询
cursor.execute("SELECT * FROM your_table")
# 获取结果
result = cursor.fetchall()
for row in result:
print(row)
except mysql.connector.Error as e:
print("数据库操作失败:", e)
finally:
# 关闭游标
if 'cursor' in locals():
cursor.close()
# 关闭连接
if 'mydb' in locals():
mydb.close()
通过上述步骤,可以使用Python连接MySQL数据库,并执行各种数据库操作。选择合适的库(如 mysql-connector-python 或 pymysql)可以根据具体需求和环境进行调整。同时,注意处理异常和关闭连接,以确保程序的稳定性和安全性。