python结合mysql 购物管理系统

该博客介绍如何使用Python的pymysql库与MySQL数据库相结合,构建一个购物管理系统的主函数运行部分,通过MD5加密增强用户数据安全性。
在这里插入代码片

from pymysql import *
import hashlib
from hashlib import sha1

class JD():

def __init__(self):
    self.mysql=connect(host='localhost',port=,user=,password='    ',database='    ',charset='utf8')
    self.conn=self.mysql.cursor()
def __del__(self):
    self.conn.close()
    self.mysql.close()

def execute_sql(self,sql):
    self.conn.execute(sql)
    for temp in self.conn.fetchall():
        print(temp)
def show_all_items(self):
    sql="select *from goods"
    self.execute_sql(sql)
def show_all_cates(self):
    sql="select name from goods_cates"
    self.execute_sql(sql)
def show_all_brands(self):
    sql="select name from goods_brands"
    self.execute_sql(sql)
def add_cates(self):
    cate_name=input("请输入要添加的商品类别:")
    sql="""insert into goods_cates (name)  values("%s")"""%cate_name
    self.conn.execute(sql)
    self.mysql.commit()
def show_select_goods(self,good_name):
    #有问题待解决
    sql="select * from goods where name like '%%%s%%'"%good_name

    self.conn.execute(sql)

    for temp in self.conn.fetchall():
        print(temp)


@staticmethod
def print_menu():
    print("-----欢迎来到京东商城-----")
    print("1:所有的商品")
    print("2:商品的分类")
    print("3:所有的品牌")
    print("4:添加商品类别")
    print("0:退出")
    return input("输入要选择的查询功能:")

def option_goods(self):
    while True:
        op=self.print_menu()
        if op=='1':
            self.show_all_items()
        elif op=='2':
            self.show_all_cates()
        elif op=='3':
            self.show_all_brands()
        elif op=='4':
            self.add_cates()
        elif op=='0':
            break
        else:
            print("请输入正确的选项:")
           
   ## 用户登陆和注册代码
       def user_login(self):
    name=input("请设置登陆姓名:")
    pwd2=input("请设置登陆密码:")
    pwd = hashlib.sha1(pwd2.encode("utf8")).hexdigest()
    addr=input("请输入收获地址:")
    tel=input("请输入电话号码:")
    user_info=[name,addr,tel,pwd2]
    sql='insert into customer (name,addr,tel,password)values(%s,%s,%s,%s)'
    values=(user_info)
    self.conn.execute(sql, values)
    self.mysql.commit()
    print("-----注册成功-----")
    print("请重新输入用户名和密码:")
    self.regist()
def regist(self):
    use_name = input("请输入姓名:")
    while self.num <= 3:
        use_password = input("请输入用户登陆密码:")
        pwd2 = sha1(use_password.encode('utf8')).hexdigest()
        self.res = [use_name]
        # 根据用户名查询密码
        sql = 'select password,id from customer where name=%s'
        self.conn.execute(sql, self.res)
        psw = self.conn.fetchall()

        self.user_id=psw[0][1]

        print(psw[0][0])
        print(psw[0][1])

        if psw == ():
            print("用户名错误")
        elif psw[0][0] == use_password:
            print("登陆成功")
            self.user_shoping()
            print("欢迎下次再来")
            break

        else:
            print("密码错误")
            print("请重新输入密码")
            self.num += 1
    if self.num==3:
        print("密码输入超过3次")
    self.mysql.commit()
def run(self):
    self.print_jingdong()
    op = input("您要登陆还是注册(1表示注册,0表示登陆):")
    if op=='1':
        self.user_login()
    elif op=='0':
        self.regist()
       ## 标题用户购买产品
        def print_jingdong(self):
    print("欢迎来到京东")

def user_shoping(self):
    while True:
        self.print_menu()
        self.option_goods()
        good_name=input("请输入要购买的产品:")
        good_name_list=[good_name]
        self.show_select_goods(good_name_list[0])
        op=input("是否要购买查询的产品(Y or N):")
        if op=='Y':
            sql = 'insert into orders (customer_id)values(%s)'
            values = (self.user_id)
            self.conn.execute(sql, values)
            self.order_info()


def order_info(self):
    sql = 'select id from orders where customer_id=%s'
    customer_id=self.user_id
    self.conn.execute(sql,customer_id)
    order_id= self.conn.fetchone()
    print(order_id[0])

    nums = int(input("购买的数量:"))
    goods_id = int(input("输入产品id:"))

    order_detail_list = [order_id[0],goods_id,nums]
    sql = 'insert into order_detail (order_id,goods_id,quantity)values(%s,%s,%s)'
    values = (order_detail_list)
    self.conn.execute(sql, values)
    print("购买成功")

主函数运行

if name==“main”:
user=User()
user.run()

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值