Python MySQL 数据库查询操作

简介

在开发过程中,我们经常需要从数据库中查询数据。Python 提供了多种方式来连接和操作数据库,其中 MySQL 是一种常用的关系型数据库。本文将介绍如何使用 Python 连接 MySQL 数据库,并进行查询操作。

准备工作

在开始之前,我们需要安装 MySQL Connector/Python,它是 MySQL 官方提供的 Python 连接器。

可以使用 pip 命令来安装 MySQL Connector/Python:

pip install mysql-connector-python

连接数据库

在进行数据库查询之前,我们需要先连接到 MySQL 数据库。以下是连接到 MySQL 数据库的代码示例:

import mysql.connector

# 建立数据库连接
cnx = mysql.connector.connect(
    user='your_username',
    password='your_password',
    host='your_host',
    database='your_database'
)

# 创建游标对象
cursor = cnx.cursor()

首先,我们导入了 mysql.connector 模块。然后,使用 mysql.connector.connect() 函数建立数据库连接。在连接过程中,我们需要提供数据库的用户名、密码、主机地址和数据库名。

最后,我们通过 cnx.cursor() 创建了一个游标对象。游标用于执行 SQL 查询语句并获取结果。

执行查询

一旦连接到数据库,我们就可以执行查询语句了。以下是一个简单的查询示例,它从 employees 表中获取所有员工的信息:

# 执行查询语句
query = 'SELECT * FROM employees'
cursor.execute(query)

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

# 输出查询结果
for row in result:
    print(row)

在上面的代码中,我们使用 cursor.execute() 方法执行查询语句。查询语句是一个字符串,它指定了要执行的 SQL 查询。

然后,我们使用 cursor.fetchall() 获取查询结果。查询结果以元组的形式返回,每一行数据都表示为一个元组。

最后,我们使用 for 循环遍历查询结果,并打印每一行数据。

参数化查询

在实际开发中,我们常常需要根据用户的输入执行查询操作。为了避免 SQL 注入攻击,我们应该使用参数化查询。

以下是一个参数化查询的示例,它根据用户输入的员工 ID 获取员工的信息:

# 获取用户输入
employee_id = input('请输入员工 ID: ')

# 执行参数化查询
query = 'SELECT * FROM employees WHERE id = %s'
cursor.execute(query, (employee_id,))

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

# 输出查询结果
for row in result:
    print(row)

在上面的代码中,我们使用 input() 函数获取用户输入的员工 ID。然后,我们使用带有占位符 %s 的查询语句,并调用 cursor.execute() 方法执行查询。

注意,在调用 cursor.execute() 时,我们将员工 ID 作为参数传递给方法,并将其包装在元组中 (employee_id,)

关闭连接

在完成数据库查询之后,我们应该关闭数据库连接以释放资源。以下是关闭连接的代码示例:

# 关闭游标
cursor.close()

# 关闭连接
cnx.close()

通过调用 cursor.close() 方法关闭游标。然后,通过调用 cnx.close() 方法关闭数据库连接。

结论

本文介绍了如何使用 Python 连接 MySQL 数据库,并执行查询操作。我们学习了连接数据库、执行查询、参数化查询以及关闭连接的基本操作。

通过使用 Python 和 MySQL,我们可以轻松地进行数据库查询,并获取所需的数据。

希望本文对你理解 Python MySQL 查询操作有所帮助!如果你有任何问题或疑惑,请随时在下方留言。