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

咨询电话:4000806560

Python 数据库编程:如何用 MySQL 实现数据存储与读取?

Python 数据库编程:如何用 MySQL 实现数据存储与读取?

MySQL 是一种开源的关系型数据库管理系统,它被广泛地应用于 Web 应用程序中。Python 作为广泛使用的编程语言之一,配合 MySQL 可以实现多种类型的应用程序。在本文中,我们将介绍如何使用 Python 和 MySQL 实现数据存储和读取的方法。

1. 安装 MySQL

在开始使用 Python 和 MySQL 进行编程之前,需要先在本地计算机上安装 MySQL 数据库。可以从 MySQL 的官方网站(https://www.mysql.com/downloads/)上下载适合自己的版本进行安装。安装完成后,需要设置一个数据库管理员用户以及一个数据库。

2. 安装 Python 中的 MySQL 模块

使用 Python 进行操作 MySQL 数据库需要使用 PyMySQL 模块,可以通过 pip 进行安装。在命令行中输入以下命令进行安装:

```
pip install PyMySQL
```

安装完成后,就可以在 Python 代码中使用 PyMySQL 模块了。

3. 数据库连接

在 Python 中连接 MySQL 数据库很简单,只需要使用 PyMySQL 模块中的 connect() 方法即可。示例代码如下:

```python
import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "root", "database_name")

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

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

其中,“localhost” 是数据库服务器的地址,“root” 是数据库管理员用户名,“root” 是管理员密码,“database_name” 是要连接的数据库名称。

4. 创建表格

在 MySQL 中创建表格可以使用 CREATE TABLE 语句。在 Python 中,可以在执行 CREATE TABLE 语句之前先使用 cursor() 方法创建一个游标对象 cursor,并使用 execute() 方法执行 SQL 语句。示例代码如下:

```python
import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "root", "mytestdb")

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

# 使用 execute() 方法执行 SQL,如果表格已经存在则删除
cursor.execute("DROP TABLE IF EXISTS test_table")

# 使用 execute() 方法执行 SQL,创建表格
create_table_sql = """CREATE TABLE test_table (
                     id INT(11) NOT NULL AUTO_INCREMENT,
                     name VARCHAR(100) NOT NULL,
                     age INT(11) NOT NULL,
                     PRIMARY KEY (id))"""
cursor.execute(create_table_sql)

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

这段代码会在 MySQL 数据库中创建一个名为“test_table”的表格,表格包含三个列:id、name 和 age。

5. 插入数据

在 Python 中向 MySQL 数据库插入数据也很简单,只需要使用 INSERT INTO 语句。在 Python 中,可以使用 execute() 方法执行 SQL 语句,向表格中插入数据。示例代码如下:

```python
import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "root", "mytestdb")

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

# SQL 插入语句
insert_sql = """INSERT INTO test_table (name, age)
                VALUES ('Tom', 18)"""

try:
    # 执行 SQL 语句
    cursor.execute(insert_sql)
    # 提交到数据库执行
    db.commit()
except:
    # 发生错误时回滚
    db.rollback()

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

以上代码将在“test_table”中插入一条数据,数据包含 name 和 age 两个字段,分别为“Tom”和 18。

6. 查询数据

在 Python 中从 MySQL 数据库中查询数据也非常简单,只需要使用 SELECT 语句。使用 PyMySQL 模块提供的 fetchone() 方法可以获取一条数据记录,使用 fetchall() 方法可以获取所有数据记录。示例代码如下:

```python
import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "root", "mytestdb")

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

# SQL 查询语句
select_sql = "SELECT * FROM test_table WHERE age > %s"

try:
    # 执行 SQL 语句
    cursor.execute(select_sql, (15,))
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        id = row[0]
        name = row[1]
        age = row[2]
        print("id=%s,name=%s,age=%d" % (id, name, age))
except:
    print("Error: unable to fetch data")

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

以上代码将从“test_table”中查询年龄大于 15 的所有数据记录,并将每一条记录的 id、name 和 age 打印出来。

到这里,我们已经介绍了 Python 数据库编程中使用 MySQL 实现数据存储和读取的方法。如果你对此感兴趣,可以继续深入学习。