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-03-01 15:50:25 浏览: 98
python数据库编程
好的,我可以帮你实现这个功能。首先,需要安装相应的数据库驱动模块,如果使用SQLite,可以使用以下命令安装:
```
pip install pysqlite3
```
如果使用MySQL,可以使用以下命令安装:
```
pip install pymysql
```
接下来,可以使用以下代码实现功能:
```python
import sqlite3
# 创建商品数据库并连接
conn = sqlite3.connect('commodity.db')
cursor = conn.cursor()
# 创建商品信息表
cursor.execute('CREATE TABLE info (num INTEGER PRIMARY KEY, cname TEXT, brand TEXT, price REAL, spokesman TEXT)')
# 添加5条记录,将最后一条记录的spokesman字段设置为你的姓名
cursor.execute('INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)', (1, '电视', 'TCL', 2999, '张三'))
cursor.execute('INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)', (2, '手机', '华为', 3999, '李四'))
cursor.execute('INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)', (3, '电脑', '联想', 5999, '王五'))
cursor.execute('INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)', (4, '冰箱', '海尔', 2999, '赵六'))
cursor.execute('INSERT INTO info (num, cname, brand, price, spokesman) VALUES (?, ?, ?, ?, ?)', (5, '洗衣机', '小天鹅', 3999, '小明'))
cursor.execute('UPDATE info SET spokesman=? WHERE num=5', ('你的姓名',))
# 查询cname字段为“冰箱”并且price大于2000的所有记录,并输出相关记录信息
cursor.execute('SELECT * FROM info WHERE cname=? AND price>?', ('冰箱', 2000))
results = cursor.fetchall()
for row in results:
print(row)
# 删除price字段值大于5000的所有记录,并显示出删除的记录数量
cursor.execute('DELETE FROM info WHERE price>?', (5000,))
print('删除了 %d 条记录' % cursor.rowcount)
# 提交更改并关闭连接
conn.commit()
cursor.close()
conn.close()
```
在代码中,我们首先使用`CREATE TABLE`语句创建了商品信息表,然后使用`INSERT INTO`语句向表中添加了5条记录,并使用`UPDATE`语句将最后一条记录的`spokesman`字段设置为你的姓名。接着,使用`SELECT`语句查询了符合条件的记录,并输出了相关信息。最后,使用`DELETE`语句删除了符合条件的记录,并使用`rowcount`属性获取删除的记录数量。
注意,如果使用MySQL,需要将连接字符串改为相应的格式,例如:
```python
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='commodity', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
```
阅读全文