Python中pymysql模块连接MySQL数据库(第1节)


在如今这个高速发展的数字化时代,MySQL数据库已经成为应用程序的重要部分,存储和管理着大量的数据。Python作为一种高级的编程语言,可以在Python环境中连接和操作各种类型的数据库。

Python中操作MySQL数据库有多种方法,例如使用mysql-connector-python、pymysql、mysqlclient等库。

1、pymysql模块安装

pymysql模块是Python编程语言中的一个第三方库,用于连接和操作MySQL数据库,它提供了一个简单而强大的接口,使开发者能够轻松地在Python程序中执行各种数据库操作,如查询、插入、更新和删除数据等。

pymysql模块遵循“Python Database API”规范(PEP 249),这使得它与其他数据库API兼容,并使得在不同的数据库之间切换变得更加容易。

pymysql不是Python的标准库,在使用pymysql模块之前,首先需要将其安装到Python环境中。使用Python的包管理工具pip来安装pymysql库是最简单的方法。打开Pyhint编辑器,点击Pyhint编辑器上面的“打开终端”按钮,在弹出的黑色cmd终端窗口中,输入以下命令安装pymysql库:

pip install pymysql

执行以上安装命令,如果运行结果出现“Successfully installed”,说明已经安装成功;如果运行结果出现“Requirement already satisfied”,说明该模块已经被安装过,不用再安装。不懂得安装第三方库,可以参考本教程第10章中第9节和第10节里面的内容。

2、pymysql连接数据库的基本方法

pymysql是一个Python编程连接MySQL数据库的库,它是全Python代码实现的,不需要打开MySQL的客户端库就可以完成所有的MySQL数据库操作,包括连接、查询、插入、更新数据等。

在前面的教程中,我们已经介绍了如何下载和安装MySQL数据库。MySQL数据库成功安装后,MySQL服务每次在电脑开机时都会自动启动,所以我们不需要每次手动点击启动MySQL服务,直接使用Python代码就可以实现MySQL数据库的连接,下面是一个连接数据库的例子:

动手练一练:

# 导入pymysql模块
import pymysql

# 创建connect对象,建立数据库连接
# host:连接的mysql主机,如果本机是'localhost'
# user:连接的用户名
# password:连接的密码,也就是数据库安装时设置的root用户密码
# database:数据库的名称
db = pymysql.connect(host="localhost", user="root", password="123456", database="pyhint")

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

# 使用execute()方法执行SQL语句,"select version()"获取当前MySQL服务器的版本信息
sql = "select version()"
cursor.execute(sql)

# 使用fetchall()方法获取所有的查询结果
content = cursor.fetchall()
print("数据库版本:%s " % content)

# 关闭游标,释放资源
cursor.close()

# 关闭数据库连接
db.close()

执行以上代码,输出结果为:

数据库版本('8.0.30',) 

上面的例子中,password="123456"其中的“123456”就是数据库安装时设置的root用户密码,database="pyhint"其中的“pyhint”就是我们上一节教程中创建的数据库名称,如果MySQL数据库配置一切正常,结果将会打印出MySQL版本号为“8.0.30”,这表明已经成功连接MySQL数据库。

3、pymysql连接数据库的步骤解析

步骤(1)建立连接

导入pymysql模块,使用connect()方法来创建数据库的连接,需要传入数据库地址、数据库用户名、数据库密码、数据库名称等信息。

# 导入pymysql模块
import pymysql

# 建立数据库连接
connect = pymysql.connect(host="localhost", port=3306, user="root", password="123456", database="pyhint", charset="utf8")

connect()方法的常用参数如下:

host:连接的数据库服务器主机名,默认为本地主机(localhost或127.0.0.1)。

port:指定数据库服务器的连接端口,默认为3306,如果没有指定端口号,则会默认使用3306端口。这个端口号是MySQL安装时默认指定的,通常情况下,用户不需要手动指定端口号,直接连接即可。

user:用户名,默认为当前用户“root”。MySQL在安装时,会默认创建一个名为“root”的用户,该用户拥有超级权限,可以控制整个MySQL服务器。

password:密码,数据库安装时设置的root用户密码。

database:需要操作的数据库名称。

charset:数据库的字符集,‌通常设置为“utf8”。如果没有指定字符集,将使用默认字符集“utf8”。

步骤(2)创建游标

游标(cursor)是执行数据库操作的重要对象,它提供了执行SQL命令和获取结果的所有方法。在pymysql模块中,要执行SQL命令,首先需要创建一个Cursor对象。

# 使用cursor()方法创建一个游标对象
cursor = connect.cursor()

步骤(3)执行SQL

通过游标的execute()方法,将需要执行的SQL语句作为参数传入。

# 使用execute()方法执行SQL语句
sql = "select version()"
cursor.execute(sql)

步骤(4)获取结果

执行完SQL语句后,可以通过游标对象的fetchone()方法获取一条结果,也可以通过fetchall()方法获取所有的结果,还可以通过fetchmany(size)获取指定数量的结果。

# 使用fetchone()方法获取一条查询结果
content = cursor.fetchone()

# 使用fetchall()方法获取所有的查询结果
content = cursor.fetchall()

这里需要注意的是,如果查询的结果数量比较多,fetchall()可能会消耗大量的内存。在这种情况下,可以使用fetchone()或fetchmany(size)函数来一次获取一部分记录。

步骤(5)结束操作

完成所有操作后,需要使用close()方法关闭游标和关闭数据库连接,释放资源。

# 关闭游标,释放资源
cursor.close()

# 关闭数据库连接
connect.close()

以上就是pymysql模块连接MySQL数据库的基本方法,下一节我们将详细介绍如何通过pymysql模块向MySQL数据库中写入数据。