Python MySQL数据库基本操作及项目示例详解
本文将为您介绍 Python 语言中如何操作 MySQL 数据库,包括连接数据库、创建表、插入数据、修改数据、删除数据以及查询数据等基本操作,最后还将提供两个项目示例,分别是购物车系统和学生信息管理系统。
一、连接数据库
Python 连接 MySQL 数据库的方式有多种,其中最常见的方式是使用 pymysql
模块。
import pymysql
# 打开数据库连接
db = pymysql.connect(
host="localhost", # 数据库所在主机地址
user="root", # 数据库用户名
password="123456", # 数据库密码
database="test", # 数据库名称
charset="utf8" # 指定编码方式
)
# 关闭数据库连接
db.close()
二、创建表
在 MySQL 数据库中创建表需要使用到 SQL 语句,Python 使用 execute()
方法执行 SQL 语句。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 语句
cursor.execute("""
CREATE TABLE `students` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`age` INT(11) NOT NULL,
`sex` VARCHAR(10),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
""")
# 关闭游标
cursor.close()
三、插入数据
插入数据也需要使用到 SQL 语句,Python 使用 execute()
方法执行 SQL 语句。另外,MySQL 数据库中插入数据的方式有两种,分别是使用 VALUES
子句和使用 SET
子句。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 插入数据(使用 VALUES 子句)
sql = """
INSERT INTO `students`(`name`, `age`, `sex`)
VALUES(%s, %s, %s)
"""
cursor.execute(sql, ("张三", 18, "男"))
# 插入数据(使用 SET 子句)
sql = """
INSERT INTO `students` SET `name`=%s, `age`=%s, `sex`=%s
"""
cursor.execute(sql, ("李四", 20, "女"))
# 提交事务
db.commit()
# 关闭游标
cursor.close()
四、修改数据
修改数据也需要使用到 SQL 语句,Python 使用 execute()
方法执行 SQL 语句。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 修改数据
sql = """
UPDATE `students` SET `name`=%s, `age`=%s, `sex`=%s WHERE `id`=%s
"""
cursor.execute(sql, ("张三三", 19, "女", 1))
# 提交事务
db.commit()
# 关闭游标
cursor.close()
五、删除数据
删除数据同样需要使用到 SQL 语句,Python 使用 execute()
方法执行 SQL 语句。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 删除数据
sql = """
DELETE FROM `students` WHERE `id`=%s
"""
cursor.execute(sql, (1,))
# 提交事务
db.commit()
# 关闭游标
cursor.close()
六、查询数据
查询数据需要使用到 SQL 语句,Python 使用 execute()
方法执行 SQL 语句,然后使用 fetchall()
方法获取结果集。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 查询数据
sql = """
SELECT * FROM `students`
"""
cursor.execute(sql)
results = cursor.fetchall()
# 输出结果
for row in results:
print(row)
# 关闭游标
cursor.close()
七、购物车系统示例
以下示例是一个简单的购物车系统,用户可根据自己的需求增加商品、删除商品、修改商品、查询商品等操作。
# 商品列表(字典类型)
items = {
"001": {"name": "电视机", "price": 2000},
"002": {"name": "洗衣机", "price": 1000},
"003": {"name": "冰箱", "price": 3000},
}
# 购物车列表(列表类型)
cart = []
while True:
# 菜单
print("1. 商品列表")
print("2. 查看购物车")
print("3. 添加商品")
print("4. 删除商品")
print("5. 修改商品")
print("6. 结算")
print("0. 退出")
# 用户输入
choice = input("请选择操作:")
if choice == "1":
# 商品列表
for k, v in items.items():
print(k, v["name"], v["price"])
elif choice == "2":
# 查看购物车
if cart:
for p in cart:
print(p["name"], p["price"])
else:
print("购物车为空")
elif choice == "3":
# 添加商品
item_id = input("请输入商品编号:")
if item_id in items:
item = items[item_id]
cart.append({"id": item_id, "name": item["name"], "price": item["price"]})
print("添加成功")
else:
print("商品不存在")
elif choice == "4":
# 删除商品
item_id = input("请输入商品编号:")
for p in cart:
if p["id"] == item_id:
cart.remove(p)
print("删除成功")
break
else:
print("商品不存在")
elif choice == "5":
# 修改商品
item_id = input("请输入商品编号:")
for p in cart:
if p["id"] == item_id:
p["name"] = input("请输入商品名称:")
p["price"] = int(input("请输入商品单价:"))
print("修改成功")
break
else:
print("商品不存在")
elif choice == "6":
# 结算
total_price = 0
for p in cart:
total_price += p["price"]
print("总价为:", total_price)
cart.clear()
elif choice == "0":
# 退出
break
else:
print("输入不合法")
八、学生信息管理系统示例
以下示例是一个简单的学生信息管理系统,管理员可根据自己的需要增加学生、删除学生、修改学生信息、查询学生信息等操作。
# 学生列表(列表类型)
students = []
while True:
# 菜单
print("1. 查看学生列表")
print("2. 添加学生")
print("3. 删除学生")
print("4. 修改学生信息")
print("5. 查询学生信息")
print("0. 退出")
# 用户输入
choice = input("请选择操作:")
if choice == "1":
# 查看学生列表
if students:
for s in students:
print(s["id"], s["name"], s["age"], s["sex"])
else:
print("学生列表为空")
elif choice == "2":
# 添加学生
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
sex = input("请输入性别:")
students.append({"id": len(students)+1, "name": name, "age": age, "sex": sex})
print("添加成功")
elif choice == "3":
# 删除学生
student_id = int(input("请输入学生编号:"))
for s in students:
if s["id"] == student_id:
students.remove(s)
print("删除成功")
break
else:
print("学生不存在")
elif choice == "4":
# 修改学生信息
student_id = int(input("请输入学生编号:"))
for s in students:
if s["id"] == student_id:
s["name"] = input("请输入姓名:")
s["age"] = int(input("请输入年龄:"))
s["sex"] = input("请输入性别:")
print("修改成功")
break
else:
print("学生不存在")
elif choice == "5":
# 查询学生信息
student_id = int(input("请输入学生编号:"))
for s in students:
if s["id"] == student_id:
print(s["id"], s["name"], s["age"], s["sex"])
break
else:
print("学生不存在")
elif choice == "0":
# 退出
break
else:
print("输入不合法")
以上就是 Python MySQL 数据库基本操作及项目示例详解,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python MySQL数据库基本操作及项目示例详解 - Python技术站