下面我为你详细讲解一下 "Python 管理系统实现 MySQL 交互的示例代码" 的实现攻略:
简介
我们使用 Python 语言编写的程序,需要与服务端 MySQL 数据库进行交互来完成数据的读取和更新操作。通过 Python 的 MySQL 驱动模块,我们可以使用 Python 通过 MySQL 协议来与 MySQL 数据库连接,实现操作数据的功能。
相关工具准备
- 首先需要安装 MySQL 数据库,可前往 MySQL 官网 选择适合自己的版本下载并安装。
- 安装 Python MySQL 驱动模块,可通过 pip 命令行工具来进行安装:
pip install pymysql
Python 数据库连接
首先,在 Python 程序中要实现与 MySQL 数据库进行交互,我们需要先连接到 MySQL 数据库。具体代码如下:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "用户名", "密码", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 关闭数据库连接
db.close()
这里我们使用 pymysql.connect()
函数连接到 MySQL 数据库,这个方法的参数依次为"主机名","用户名","密码","数据库名"。如果数据库连接成功,方法将返回一个数据库对象。
接着我们使用 db.cursor()
创建游标对象,该对象可用于执行 SQL 语句并进行操作。
最后我们使用 db.close()
关闭数据库连接。需要注意的是,如果打开了数据库连接, 必须关闭它(避免资源浪费)。
创建数据库和表
我们可以使用 Python 连接 MySQL 数据库后,创建数据库也就是执行 SQL 语句的操作。以下示例创建了一个名为 test
的数据库:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果数据库存在就删除
cursor.execute("DROP DATABASE IF EXISTS test")
# 使用 execute() 方法执行 SQL,创建一个新的数据库 test
cursor.execute("CREATE DATABASE test")
# 关闭游标和连接
cursor.close()
db.close()
创建表的过程与创建数据库的过程类似,假设创建一个包含 id
和 name
两个字段的名为 user
的表。以下示例是创建表的代码:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 如果表存在就删除
cursor.execute("DROP TABLE IF EXISTS user")
# 使用预处理语句创建表
sql = """CREATE TABLE user (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL)"""
cursor.execute(sql)
# 关闭游标和连接
cursor.close()
db.close()
以上语句使用了 SQL 预处理语句来创建表。这种方式,可以避免 SQL 注入问题。
插入数据
接着我们继续看下如何向表中插入数据,以下示例是向 user
表中插入一条数据的代码:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO user(id, name)
VALUES (1, 'san')"""
try:
# 执行 SQL 语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
# 关闭游标和连接
cursor.close()
db.close()
查询数据
以下示例代码,展示了如何从 user
表中获取数据:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM user WHERE name = '%s'" % ('san')
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
# 打印结果
print("id=%s,name=%s" % (id, name))
except:
print("Error: unable to fetch data")
# 关闭游标和连接
cursor.close()
db.close()
以上代码使用了 cursor.fetchall()
和 for
循环遍历结果集,打印每条结果集中的 id
和 name
。
以上就是 Python 通过 MySQL 驱动模块实现与 MySQL 数据库交互的示例代码攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 管理系统实现mysql交互的示例代码 - Python技术站