您的位置:

Python连接MySQL数据库的示例代码

Python已经成为了非常流行的编程语言之一,而MySQL则是目前使用最广泛的关系型数据库之一。如果你想在Python中使用MySQL,那么你需要安装相应的MySQL数据库驱动程序。Python提供了许多数据库驱动程序,但是这里我们将使用MySQL Connector,它是MySQL官方提供的Python驱动程序。下面,我们将为您演示如何使用Python连接MySQL数据库的示例代码。

一、连接MySQL数据库

在Python中,我们可以使用mysql-connector-python库来连接MySQL数据库。在使用前,您需要安装该库。安装命令如下:

pip install mysql-connector-python

要连接到MySQL数据库,我们需要导入mysql.connector库。然后通过调用MySQLConnection()函数来建立与数据库的连接:

import mysql.connector

# 建立连接
cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='test')
# 关闭连接
cnx.close()

在上面的代码中,我们首先导入mysql.connector库。然后,我们使用MySQLConnection函数来建立与数据库的连接。在这个函数中,我们需要传递一些连接参数,如用户名、密码、主机地址和数据库名称。如果连接成功,我们可以执行一些操作。连接的最后一步就是关闭连接,以释放资源。

二、执行MySQL查询

在连接到MySQL数据库之后,我们可以执行各种操作。最常见的操作之一就是执行查询语句。

import mysql.connector

cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='test')

cursor = cnx.cursor()

query = ("SELECT name, age FROM employees WHERE gender = 'M'")

cursor.execute(query)

for (name, age) in cursor:
  print("{} is {} years old".format(name, age))

cursor.close()
cnx.close()

在上面的代码中,我们在连接成功后定义了一个游标对象cursor。这个游标对象可以用来执行查询和获取结果。我们使用execute()方法执行查询,并将结果存储在游标中。然后,我们使用游标对象的fetchall()方法来获取所有的结果。结果以一个元组的形式返回,其中每个元组包含一个查询结果的行。

三、使用参数的MySQL查询

当您需要从数据库中提取特定的信息时,使用参数查询是非常便捷的。另外,参数查询还可以有效地防止SQL注入攻击。

import mysql.connector

cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='test')

cursor = cnx.cursor()

name = 'Bob'
query = ("SELECT name, age FROM employees WHERE name = %s")

cursor.execute(query, (name,))

for (name, age) in cursor:
  print("{} is {} years old".format(name, age))

cursor.close()
cnx.close()

在上面的代码中,我们使用execute()方法来执行查询,但是我们在查询字符串中使用了占位符。这个占位符可以替换为一个参数。我们使用元组来传递参数,也就是执行方法的第二个参数。这样,我们就可以查询指定名字的员工信息。

四、插入数据

向MySQL数据库中插入行的过程非常简单。我们只需要将插入语句传递给游标并执行即可。

import mysql.connector

cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='test')

cursor = cnx.cursor()

query = ("INSERT INTO employees (name, age, gender) "
         "VALUES (%s, %s, %s)")
data = ('Bob', 25, 'M')

cursor.execute(query, data)
cnx.commit()

cursor.close()
cnx.close()

在上面的代码中,我们定义了一个插入语句和一组要插入的数据。然后,我们使用execute()方法来执行插入语句。最后,我们使用commit()方法来提交更改。在这个例子中,我们插入了名字为Bob、年龄为25岁、性别为M的员工信息。

五、更新数据

要更新MySQL数据库中的数据,我们可以执行一个UPDATE语句。更新操作需要指定要更新的表名、字段和一些匹配条件。

import mysql.connector

cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='test')

cursor = cnx.cursor()

query = ("UPDATE employees SET age = %s WHERE name = %s")
data = (26, 'Bob')

cursor.execute(query, data)
cnx.commit()

cursor.close()
cnx.close()

在上面的代码中,我们使用一个UPDATE语句来更新名字为Bob的员工的年龄。我们使用execute()方法来执行更新操作。最后,我们使用commit()方法来提交更改。

六、删除数据

要删除MySQL数据库中的数据,我们可以执行一个DELETE语句。删除操作需要指定要删除的表名和一些匹配条件。

import mysql.connector

cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='test')

cursor = cnx.cursor()

query = ("DELETE FROM employees WHERE name = %s")
data = ('Bob',)

cursor.execute(query, data)
cnx.commit()

cursor.close()
cnx.close()

在上面的代码中,我们使用一个DELETE语句来删除名字为Bob的员工。我们使用execute()方法来执行删除操作。最后,我们使用commit()方法来提交更改。

七、总结

本文向我们演示了如何使用Python连接到MySQL数据库,并对其执行各种操作。MySQL是一个广泛使用的数据库,使用Python进行操作会极大地方便数据库管理。无论您是要执行查询、插入、更新或删除操作,Python提供的mysql-connector-python库都可以使连接到MySQL数据库的过程变得简单快捷。祝您操作愉快!