使用 mysql 保存数据,实现超市日常管理中以下业务。" 一、建立以下数据表并填充数据+登录+' 用户表: users _学号后四位+' 列名: id _学号后四位用户名 name 学号后四位密码: pwd _学号后四位*产品表: products _学号后四位. 列名: id _学号后四位编号 num 学号后四位名称 name 学号后四位单价 price 学号后四位折扣 discount _学号后四位 订单表: orders _学号后四位. 列名: id _学号后四位编号 num 学号后四位货品数量 count 学号后四位金额 arnount 学号后四位. 二、实现以下菜单并实现业务0用户登录 1查看所有产品信息。"2查找商品(用户输入商品名称,查看价格和折扣):- 3添加商品(需要程序生成编号),- 4修改商品价格和折扣(折扣为0.1-0.99之间):. 5删除商品(根据编号): 6查看所有订单:+ 7.订单统计(显示总销售额和货品数量): 8.商品结算。,
时间: 2024-02-01 11:16:59 浏览: 155
javafxtableviewjdbc:Tableview 使用 Javafx 填充 mysql 数据库中的数据
很好,以下是这个超市日常管理的代码实现,基于 Python3 和 MySQL:
```python
import pymysql
# 连接 MySQL 数据库
def connect_db():
conn = pymysql.connect(
host="localhost", # 数据库服务器地址
user="root", # 数据库用户名
password="123456", # 数据库密码
database="market", # 数据库名称
charset="utf8" # 数据库字符编码
)
return conn
# 用户登录
def user_login():
user_id = input("请输入用户ID:")
user_pwd = input("请输入密码:")
conn = connect_db()
cursor = conn.cursor()
sql = f"SELECT * FROM users WHERE id='{user_id}' AND pwd='{user_pwd}'"
cursor.execute(sql)
res = cursor.fetchone()
cursor.close()
conn.close()
if res:
print("登录成功!")
else:
print("用户名或密码错误!")
# 查看所有产品信息
def view_products():
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT * FROM products"
cursor.execute(sql)
res = cursor.fetchall()
cursor.close()
conn.close()
if res:
print("编号\t名称\t单价\t折扣")
for row in res:
print(f"{row[1]}\t{row[2]}\t{row[3]}\t{row[4]}")
else:
print("没有产品信息!")
# 查找商品
def search_product():
product_name = input("请输入商品名称:")
conn = connect_db()
cursor = conn.cursor()
sql = f"SELECT price, discount FROM products WHERE name='{product_name}'"
cursor.execute(sql)
res = cursor.fetchone()
cursor.close()
conn.close()
if res:
print(f"{product_name}的价格为{res[0]},折扣为{res[1]}")
else:
print("没有找到该商品!")
# 添加商品
def add_product():
product_name = input("请输入商品名称:")
product_price = float(input("请输入商品单价:"))
product_discount = float(input("请输入商品折扣:"))
conn = connect_db()
cursor = conn.cursor()
sql = f"SELECT MAX(num) FROM products"
cursor.execute(sql)
res = cursor.fetchone()
if res[0]:
product_num = int(res[0]) + 1
else:
product_num = 1
sql = f"INSERT INTO products (num, name, price, discount) VALUES ({product_num}, '{product_name}', {product_price}, {product_discount})"
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
print("添加成功!")
# 修改商品价格和折扣
def update_product():
product_num = input("请输入商品编号:")
product_price = float(input("请输入商品单价:"))
product_discount = float(input("请输入商品折扣:"))
conn = connect_db()
cursor = conn.cursor()
sql = f"UPDATE products SET price={product_price}, discount={product_discount} WHERE num={product_num}"
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
print("修改成功!")
# 删除商品
def delete_product():
product_num = input("请输入商品编号:")
conn = connect_db()
cursor = conn.cursor()
sql = f"DELETE FROM products WHERE num={product_num}"
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
print("删除成功!")
# 查看所有订单
def view_orders():
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT * FROM orders"
cursor.execute(sql)
res = cursor.fetchall()
cursor.close()
conn.close()
if res:
print("编号\t货品数量\t金额")
for row in res:
print(f"{row[1]}\t{row[2]}\t{row[3]}")
else:
print("没有订单信息!")
# 订单统计
def order_statistics():
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT COUNT(*), SUM(count*amount) FROM orders"
cursor.execute(sql)
res = cursor.fetchone()
cursor.close()
conn.close()
if res:
print(f"总销售额为{res[1]},货品数量为{res[0]}")
else:
print("没有订单信息!")
# 商品结算
def product_settlement():
product_num = input("请输入商品编号:")
product_count = int(input("请输入商品数量:"))
conn = connect_db()
cursor = conn.cursor()
sql = f"SELECT price, discount FROM products WHERE num={product_num}"
cursor.execute(sql)
res = cursor.fetchone()
if res:
product_amount = product_count * res[0] * res[1]
sql = f"INSERT INTO orders (num, count, amount) VALUES ({product_num}, {product_count}, {product_amount})"
cursor.execute(sql)
conn.commit()
print("结算成功!")
else:
print("没有找到该商品!")
cursor.close()
conn.close()
# 主函数
def main():
while True:
print("*" * 40)
print("欢迎使用超市日常管理系统!")
print("0. 用户登录")
print("1. 查看所有产品信息")
print("2. 查找商品")
print("3. 添加商品")
print("4. 修改商品价格和折扣")
print("5. 删除商品")
print("6. 查看所有订单")
print("7. 订单统计")
print("8. 商品结算")
print("*" * 40)
choice = input("请输入您的选择:")
if choice == "0":
user_login()
elif choice == "1":
view_products()
elif choice == "2":
search_product()
elif choice == "3":
add_product()
elif choice == "4":
update_product()
elif choice == "5":
delete_product()
elif choice == "6":
view_orders()
elif choice == "7":
order_statistics()
elif choice == "8":
product_settlement()
else:
print("输入错误,请重新输入!")
if __name__ == '__main__':
main()
```
请注意,以上代码中连接 MySQL 数据库的部分需要根据实际情况进行修改。此外,还需要手动在 MySQL 中创建名为 `market` 的数据库,并执行以下 SQL 语句来创建表和填充数据:
```sql
CREATE TABLE users (
id VARCHAR(10) PRIMARY KEY,
name VARCHAR(20),
pwd VARCHAR(20)
);
INSERT INTO users (id, name, pwd) VALUES ('1234', 'user1', 'pwd1');
INSERT INTO users (id, name, pwd) VALUES ('5678', 'user2', 'pwd2');
CREATE TABLE products (
id INT PRIMARY KEY AUTO_INCREMENT,
num VARCHAR(10),
name VARCHAR(20),
price DECIMAL(8,2),
discount DECIMAL(3,2)
);
INSERT INTO products (num, name, price, discount) VALUES ('1234', 'product1', 10.00, 0.90);
INSERT INTO products (num, name, price, discount) VALUES ('5678', 'product2', 20.00, 0.80);
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
num VARCHAR(10),
count INT,
amount DECIMAL(8,2)
);
```
最后,运行以上代码即可启动超市日常管理系统。
阅读全文