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-28 13:53:12 浏览: 109
好的,以下是Python数据库编程实现上述功能的代码,使用SQLite数据库:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('commodity.db')
c = conn.cursor()
# 创建商品信息表
c.execute('''CREATE TABLE info
(num INTEGER PRIMARY KEY, cname TEXT, brand TEXT, price REAL, spokesman TEXT)''')
# 添加记录
c.execute("INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)", (1, '电视', '小米', 1999, '张三'))
c.execute("INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)", (2, '手机', '华为', 3999, '李四'))
c.execute("INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)", (3, '电脑', '联想', 5999, '王五'))
c.execute("INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)", (4, '冰箱', '海尔', 2999, '赵六'))
c.execute("INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)", (5, '洗衣机', '西门子', 4999, '张三'))
# 将最后一条记录的spokesman字段设置为你的姓名
c.execute("UPDATE info SET spokesman = ? WHERE num = ?", ("重工ai", 5))
# 查询
c.execute("SELECT * FROM info WHERE cname = ? AND price > ?", ('冰箱', 2000))
rows = c.fetchall()
if len(rows) > 0:
print("查询结果:")
for row in rows:
print(row)
else:
print("未查询到相关记录。")
# 删除
c.execute("DELETE FROM info WHERE price > ?", (5000,))
count = c.rowcount
print("删除了 %d 条记录。" % count)
# 提交修改并关闭连接
conn.commit()
conn.close()
```
使用MySQL数据库的代码类似,只需要修改连接数据库的语句和一些SQL语句即可。
阅读全文