匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python 数据库编程:如何使用 pymysql 连接 MySQL 数据库

Python 数据库编程:如何使用 pymysql 连接 MySQL 数据库

在现代的技术应用领域中,数据库已经成为了一种不可或缺的技术手段。与此同时,Python 作为一种强大的编程语言,也能够提供众多方便的数据库编程工具,比如 pymysql。在这篇技术文章中,我们将会学习如何使用 pymysql 连接 MySQL 数据库。

什么是 pymysql?

pymysql 是一个与 Python 交互的 MySQL 数据库驱动程序。它允许 Python 开发者可以在 Python 程序中使用 MySQL 数据库。该软件是由 Wolfgang Weinzierl 开发的,现在已经成为了 Python 应用程序开发中最受欢迎的 MySQL 数据库驱动程序之一。

安装 pymysql

在开始使用 pymysql 之前,我们需要先安装 pymysql 库。我们可以通过 pip 工具来进行安装。

在命令行中输入以下命令:

```
pip install pymysql
```

连接 MySQL 数据库

在使用 pymysql 连接 MySQL 数据库之前,我们需要先了解如何连接 MySQL 数据库。

创建一个 Python 文件,然后输入以下代码:

```
import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

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

# 使用 execute() 方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print("Database version : %s " % data)

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

在以上代码中,我们首先通过 `pymysql.connect()` 方法来连接 MySQL 数据库,此方法的参数包括一个主机名、用户名、密码和数据库名称。在连接成功后,我们创建了一个游标对象 cursor,然后使用 `cursor.execute()` 方法执行了一条 SQL 语句,接着通过 `cursor.fetchone()` 方法获取了查询结果,并最后关闭了数据库连接。

创建数据库表

在连接成功 MySQL 数据库并且创建游标对象之后,我们就可以开始在数据库中创建表格了。我们可以使用 `CREATE TABLE` 语句来创建表格。

以下是一个示例代码,用于创建名为 `employees` 的表格。

```
# 连接 MySQL 数据库
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

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

# 使用 execute() 方法执行 SQL 命令创建表格
cursor.execute("CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(255), age INT)")

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

在以上代码中,我们通过 `cursor.execute()` 方法执行了一条 SQL 命令,用于创建一个名为 `employees` 的表格,该表格包括 3 个列:id、name 和 age。

插入数据

在创建表格之后,我们需要向其中插入一些数据。我们可以使用 `INSERT` 语句来实现。

以下是一个示例代码,用于向 `employees` 表格中插入一些数据。

```
# 连接 MySQL 数据库
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

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

# SQL 插入语句
sql = "INSERT INTO employees(id, name, age) VALUES (%s, %s, %s)"
val = (1, 'Tom', 23)
cursor.execute(sql, val)

# 提交到数据库执行
db.commit()

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

在以上代码中,我们首先使用 `cursor.execute()` 方法执行了一条 SQL 插入语句,将 id 为 1、姓名为 Tom、年龄为 23 的数据插入到了 `employees` 表格中。

更新数据

在插入数据之后,我们可能需要更新数据库中的某些数据。我们可以使用 `UPDATE` 语句来实现更新操作。

以下是一个示例代码,用于更新 `employees` 表格中指定条件的数据。

```
# 连接 MySQL 数据库
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

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

# SQL 更新语句
sql = "UPDATE employees SET age = age + 1 WHERE name = 'Tom'"

# 执行 SQL 更新语句
cursor.execute(sql)

# 提交到数据库执行
db.commit()

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

在以上代码中,我们使用 `cursor.execute()` 方法执行了一条 SQL 更新语句,将 `employees` 表格中名为 Tom 的数据年龄字段加 1。

查询数据

在插入和更新数据之后,我们可能需要查询数据库中的数据。我们可以使用 `SELECT` 语句来实现查询操作。

以下是一个示例代码,用于从 `employees` 表格中获取所有数据。

```
# 连接 MySQL 数据库
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

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

# SQL 查询语句
sql = "SELECT * FROM employees"

# 执行 SQL 查询语句
cursor.execute(sql)

# 获取所有记录列表
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    age = row[2]

    # 打印结果
    print("id={}, name={}, age={}".format(id, name, age))

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

在以上代码中,我们首先使用 `cursor.execute()` 方法执行了一条 SQL 查询语句,用于获取 `employees` 表格中的所有数据。然后通过 `cursor.fetchall()` 方法获取所有查询结果,并使用 for 循环遍历所有结果,最后打印出了查询结果。

结论

在本文中,我们介绍了如何使用 pymysql 连接 MySQL 数据库,并进行插入、更新和查询等操作。这些操作将有助于 Python 开发者在他们的应用程序中使用 MySQL 数据库。要了解更多关于 pymysql 的知识点,请参考 pymysql 的官方文档。