【Python】连接MySQL数据库:详细教程与示例代码

在数据驱动的开发中,连接数据库是一个至关重要的技能。Python作为一门强大的编程语言,提供了多种方式连接并操作MySQL数据库。本文将详细介绍如何在Python中连接MySQL数据库,包括所需库的安装、基本连接方法、执行查询、处理结果集以及错误处理。

1. 安装必要的库

在Python中,常用的MySQL连接库是mysql-connector-pythonPyMySQL。以下示例将使用mysql-connector-python,它是MySQL官方提供的连接器。

使用pip安装mysql-connector-python

pip install mysql-connector-python

使用pip安装mysql-connector-python库,这个库提供了与MySQL数据库通信的功能。

2. 建立与MySQL的连接

安装完库后,就可以在Python中建立与MySQL的连接了。以下是一个基本的连接示例:

import mysql.connector

# 建立连接
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='yourdatabase'
)

print("连接成功")
conn.close()
  • import mysql.connector:导入mysql.connector模块。
  • mysql.connector.connect():建立与MySQL数据库的连接,参数包括主机名、用户名、密码和数据库名。
  • conn.close():关闭数据库连接。

3. 执行SQL查询

建立连接后,就可以执行SQL查询。以下是一个查询示例:

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='yourdatabase'
)

cursor = conn.cursor()

# 执行查询
cursor.execute("SELECT * FROM yourtable")

# 获取查询结果
results = cursor.fetchall()

for row in results:
    print(row)

cursor.close()
conn.close()
  • cursor = conn.cursor():创建一个游标对象,用于执行SQL查询。
  • cursor.execute("SELECT * FROM yourtable"):执行SQL查询。
  • results = cursor.fetchall():获取所有查询结果。
  • for row in results:遍历结果集并打印每一行。
  • cursor.close():关闭游标。
  • conn.close():关闭数据库连接。

4. 插入数据

除了查询数据,还可以使用Python插入数据。以下是一个插入数据的示例:

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='yourdatabase'
)

cursor = conn.cursor()

# 插入数据
sql = "INSERT INTO yourtable (column1, column2) VALUES (%s, %s)"
val = ("value1", "value2")
cursor.execute(sql, val)

conn.commit()

print(cursor.rowcount, "记录插入成功")

cursor.close()
conn.close()
  • sql = "INSERT INTO yourtable (column1, column2) VALUES (%s, %s)":定义插入SQL语句。
  • val = ("value1", "value2"):定义插入的数据。
  • cursor.execute(sql, val):执行插入操作。
  • conn.commit():提交事务。
  • cursor.rowcount:获取插入的记录数。

5. 更新数据

更新数据与插入数据类似,只需更改SQL语句。以下是一个更新数据的示例:

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='yourdatabase'
)

cursor = conn.cursor()

# 更新数据
sql = "UPDATE yourtable SET column1 = %s WHERE column2 = %s"
val = ("newvalue", "value2")
cursor.execute(sql, val)

conn.commit()

print(cursor.rowcount, "记录更新成功")

cursor.close()
conn.close()
  • sql = "UPDATE yourtable SET column1 = %s WHERE column2 = %s":定义更新SQL语句。
  • val = ("newvalue", "value2"):定义更新的数据。
  • cursor.execute(sql, val):执行更新操作。
  • conn.commit():提交事务。
  • cursor.rowcount:获取更新的记录数。

6. 删除数据

删除数据也与插入和更新类似。以下是一个删除数据的示例:

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='yourdatabase'
)

cursor = conn.cursor()

# 删除数据
sql = "DELETE FROM yourtable WHERE column2 = %s"
val = ("value2",)
cursor.execute(sql, val)

conn.commit()

print(cursor.rowcount, "记录删除成功")

cursor.close()
conn.close()
  • sql = "DELETE FROM yourtable WHERE column2 = %s":定义删除SQL语句。
  • val = ("value2",):定义删除的数据条件。
  • cursor.execute(sql, val):执行删除操作。
  • conn.commit():提交事务。
  • cursor.rowcount:获取删除的记录数。

7. 错误处理

在数据库操作过程中,可能会遇到各种错误,如连接失败、SQL语法错误等。可以使用try-except语句进行错误处理。

import mysql.connector
from mysql.connector import Error

try:
    conn = mysql.connector.connect(
        host='localhost',
        user='yourusername',
        password='yourpassword',
        database='yourdatabase'
    )

    if conn.is_connected():
        print("连接成功")

except Error as e:
    print("错误:", e)

finally:
    if conn.is_connected():
        conn.close()
        print("连接已关闭")
  • try块:尝试建立数据库连接。
  • except Error as e:捕获并打印错误信息。
  • finally块:确保连接关闭。

8. 小结

本文详细介绍了如何在Python中连接并操作MySQL数据库,包括库的安装、基本连接、执行查询、插入数据、更新数据、删除数据以及错误处理。掌握这些技能将大大提高数据驱动开发的效率和可靠性。数据库操作是Python编程中的重要部分,熟练掌握这些知识将为开发工作带来巨大帮助。

推荐我的相关专栏:


在这里插入图片描述

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peter-Lu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值