Python数据库编程实现以下功能,数据库可选择SQLite 或MySQL。 (1)创建商品数据库commodity,并在其中创建商品信息表info,包含num(商品编号)、cname(商品名称)、brand(品牌)、price(价格)、spokesman(代言人)5个字段,其中num设为主键。 (2)向info表中添加5条记录,将最后一条记录的spokesman字段设置为你的姓名。 (3)查询info表中cname字段为“冰箱”并且price大于2000的所有记录,并输出相关记录信息。 (4)删除info表中price字段值大于5000的所有记录,并显示出删除的记录数量。
时间: 2024-02-29 17:51:18 浏览: 27
好的,以下是Python数据库编程实现以上功能的代码:
```python
# 导入SQLite或MySQL模块
import sqlite3
#import pymysql
# 创建商品数据库commodity
conn = sqlite3.connect('commodity.db')
#cnn = pymysql.connect(host='localhost', user='root', password='123456', db='commodity', port=3306)
# 创建商品信息表info
conn.execute('''CREATE TABLE info
(num INT PRIMARY KEY NOT NULL,
cname TEXT NOT NULL,
brand TEXT NOT NULL,
price REAL NOT NULL,
spokesman TEXT);''')
#cnn.execute('''CREATE TABLE info
# (num INT PRIMARY KEY NOT NULL,
# cname TEXT NOT NULL,
# brand TEXT NOT NULL,
# price REAL NOT NULL,
# spokesman TEXT);''')
# 向info表中添加5条记录
conn.execute("INSERT INTO info (num,cname,brand,price,spokesman) \
VALUES (1, '电视', '海尔', 2999, '张三')")
conn.execute("INSERT INTO info (num,cname,brand,price,spokesman) \
VALUES (2, '洗衣机', '小天鹅', 1899, '李四')")
conn.execute("INSERT INTO info (num,cname,brand,price,spokesman) \
VALUES (3, '冰箱', '美的', 2999, '王五')")
conn.execute("INSERT INTO info (num,cname,brand,price,spokesman) \
VALUES (4, '空调', '格力', 3999, '赵六')")
conn.execute("INSERT INTO info (num,cname,brand,price,spokesman) \
VALUES (5, '电饭煲', '苏泊尔', 299, '我')")
# 查询info表中cname字段为“冰箱”并且price大于2000的所有记录,并输出相关记录信息
cursor = conn.execute("SELECT num, cname, brand, price, spokesman from info \
WHERE cname='冰箱' AND price>2000")
for row in cursor:
print("num = ", row[0])
print("cname = ", row[1])
print("brand = ", row[2])
print("price = ", row[3])
print("spokesman = ", row[4], "\n")
# 删除info表中price字段值大于5000的所有记录,并显示出删除的记录数量
result = conn.execute("DELETE from info where price>5000")
print("删除的记录数量:", result.rowcount)
# 提交更改并关闭连接
conn.commit()
conn.close()
#cnn.commit()
#cnn.close()
```
注意:如果要使用MySQL替代SQLite,需要将代码中相关的SQLite语句改为MySQL语句,并将导入的模块改为pymysql。