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 实现数据存储和读取的方法。如果你对此感兴趣,可以继续深入学习。