基于python连接sql server的商品管理and初级购物系统的设计

实现python连接sqlserver较为简单,操作起来也并没有java那样麻烦,本次将通过一个商品管理and初级购物系统来带大家体会一下:
关注+点赞+收藏 谢谢 ^ ^

实验功能:
1 、管理员可以管理操纵所有数据;
(1) 可对表中数据根据用户号进行查询,并可增加、删除、更改用户记录。当更改用户表中用户号时可以实现其他相关表中用户号的级联更新,删除用户表中用户记录时可以实现相关表中记录级联删除。
(2)对商品表中数据,可依根据商品号进行查询,并可增加、删除、更改商品记录。
(3)其他表要具有查询,并可增加、删除、
2、u1只能查看更新商品信息,和查看更新某一类商品订单记录;
3、自己只能查看自己所有个人信息和订单信息。

有三个用户,管理员(超级用户),u1,和自己(普通用户),以下为管理员的功能:
在这里插入图片描述
数据库的设计如下:
在这里插入图片描述
数据库中还有许多视图需要自己建立的视图、级联、权限等需要读者自己查看python代码自行设计!

总的实验代码如下:

# coding=utf8
import pymssql

def login_page():
    print("====================")
    flag = input("请输入你的身份:"
                 "1. 管理员  "
                 "2. u1  "
                 "3. 自己本人  "
                 "4. 退出  ")
    print("====================")
    return flag

def login_page_user(server,database):
    user = input("请输入你的用户名:")
    password = input("请输入你的密码:")
    connect = pymssql.connect(server, user, password, database,charset="cp936") # 设置charset="cp936" 或者"GBK" 防止乱码
    print("--------------------")
    return connect

def databaseManage_u1(connect):
    while True:
        print("***              ***\n"
              "======u1 用户======")
        cursor = connect.cursor()
        print("*** 菜单 ***")
        flag = input("11. -- -- -- -- 显示商品信息 -- -- -- --  \n"
                     "12. -- -- -- -- 显示部分订单信息 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "1. -- -- -- -- 修改商品操作 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "2. -- -- -- -- 添加订单信息 -- -- -- --  \n"
                     "3. -- -- -- -- 删除订单信息 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "4. -- -- -- -- -> 退出程序  \n"
                     " ******说明:请正确选择...  --> ")
        if (int(flag) == 11):
            print("======商品信息如下:======")
            sql_mm = "select * from mmarket"
            cursor.execute(sql_mm)
            row = cursor.fetchone()
            while row:
                print("  商品号:%s     商品名:%s   " % (row[0], row[1]))
                row = cursor.fetchone()

        elif (int(flag) == 12):
            print("***              ***\n"
                  "======部分订单信息如下:======")
            sql_ur = "select * from mmarket_u1"
            cursor.execute(sql_ur)
            row = cursor.fetchone()
            while row:
                print("用户名:%s  商品号:%s  订单号:%s  " % (row[0], row[1], row[0] + row[0]))
                row = cursor.fetchone()

        elif (int(flag) == 1): # 修改商品操作
            MNO = input("请输入你要修改的商品号:")
            MNAME_new = input("你想把商品名修改为什么呢?")
            sql_mm_modify = "update mmarket set MNAME = '" + MNAME_new + "' where MNO = '" + MNO + "'"
            cursor.execute(sql_mm_modify)
            connect.commit()
            print("修改商品信息成功...")

        elif (int(flag) == 2):  # 添加订单信息
            NNO = input("输入新用户的用户名:")
            MNO = input("请入新的商品的商品号:")
            sql_um_add = "insert into mmarket_u1(NNO,MNO) values('" + NNO + "','" + MNO + "')"
            sql_um_add_new = "insert into mmarket_u1(NNO,MNO) values('%s','%s')" %(NNO,MNO)
            cursor.execute(sql_um_add)
            connect.commit()
            print("添加订单信息成功...")

        elif (int(flag) == 3): # 删除订单信息
            MNO = input("输入你想要删除订单的商品号;")
            sql_um_delete = "delete from mmarket_u1 where MNO = '" + MNO + "'"
            cursor.execute(sql_um_delete)
            connect.commit()
            print("删除订单信息成功...")

        elif (int(flag) == 4):
            break

        else:
            continue

def databaseManage_1908524034(connect):
    # 自己只能查看自己的个人信息和订单信息
    while True:
        print("***              ***\n"
              "======自己:1908524034======")
        print("*** 个人信息如下 ***")
        cursor = connect.cursor()
        sql_uu = "select * from uuser_1908524034"
        cursor.execute(sql_uu)
        row = cursor.fetchone()
        print("用户名:%s    姓名:%s    性别:%s  " % (row[0], row[1], row[2]))

        print("***              ***\n"
              "======订单信息如下:======")
        sql_um = "select * from uure_1908524034"
        cursor.execute(sql_um)
        row2 = cursor.fetchone()
        while row2:
            print("姓名:%s    购买的商品号:%s     订单号:%s " % (row[0],row2[1],row2[0]+row2[1]))
            row2 = cursor.fetchone()

        print("*** 菜单 ***")
        flag = input("1. -- -- -- -- 添加订单信息 -- -- -- --  \n"
                     "2. -- -- -- -- 删除订单信息 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "3. -- -- -- -- -> 退出程序  \n"
                     " ******说明:请正确选择...  --> ")

        if (int(flag) == 1):
            MNO = input("请入新的商品的商品号:")
            sql_um_add = "insert into uure_1908524034(NNO,MNO) values('" + "1908524034" + "','" + MNO + "')"
            cursor.execute(sql_um_add)
            connect.commit()
            print("添加订单信息成功...")

        elif (int(flag) == 2):  # 删除订单信息
            MNO = input("输入你想要删除订单的商品号;")
            sql_um_delete = "delete from uure_1908524034 where MNO = '" + MNO + "'"
            cursor.execute(sql_um_delete)
            connect.commit()
            print("删除订单信息成功...")

        elif (int(flag) == 3):
            break

        else:
            continue

def databaseManage_sa(connect):
    # sa超级用户,拥有所有权限
    while True:
        print("========ALL========")
        cursor = connect.cursor()
        #对用户进行修改和删除操作
        print("*** 菜单 ***")
        flag = input("11. -- -- -- -- 显示所有用户 -- -- -- --  \n"
                     "12. -- -- -- -- 显示所有商品 -- -- -- --  \n"
                     "13. -- -- -- -- 显示所有订单信息 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "1. -- -- -- -- 删除用户操作 -- -- -- --  \n"
                     "2. -- -- -- -- 修改用户操作 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "3. -- -- -- -- 添加商品操作 -- -- -- --  \n"
                     "4. -- -- -- -- 删除商品操作 -- -- -- --  \n"
                     "5. -- -- -- -- 修改商品操作 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "6. -- -- -- -- 添加订单信息 -- -- -- --  \n"
                     "7. -- -- -- -- 删除订单信息 -- -- -- --  \n"
                     " -- -- -- -- -- ***         *** -- -- -- -- \n"
                     "8. -- -- -- -- -> 退出程序  \n"
                     " ******说明:请正确选择...  --> ")

        if (int(flag) == 11):
            print("***              ***\n"
                  "======所有用户======")
            sql_uu = "select * from uuser"
            cursor.execute(sql_uu)
            row = cursor.fetchone()
            while row:
                print("用户名:%s    姓名:%s    性别:%s  " % (row[0], row[1], row[2]))
                row = cursor.fetchone()

        elif (int(flag) == 12):
            print("***              ***\n"
                  "======所有商品======")
            sql_mm = "select * from mmarket"
            cursor.execute(sql_mm)
            row = cursor.fetchone()
            while row:
                print("  商品号:%s     商品名:%s   " % (row[0], row[1]))
                row = cursor.fetchone()

        elif (int(flag) == 13):
            print("***              ***\n"
                  "======订单信息======")
            sql_ur = "select * from ureservation"
            cursor.execute(sql_ur)
            row = cursor.fetchone()
            while row:
                print("用户名:%s  商品号:%s  订单号:%s  " % (row[0], row[1], row[0] + row[1]))  # 订单号是由用户名和商品号拼接而成
                row = cursor.fetchone()

        elif (int(flag) == 1): # 删除用户操作
            NNO = input("填写你想要删除的用户名:  ")
            sql_uu_delete = "delete from uuser where NNO = '" + NNO + "'"
            cursor.execute(sql_uu_delete)
            connect.commit()   # 出现错误时回滚
            print("删除用户成功...")

        elif (int(flag) == 2): # 修改用户操作
            NNO = input("填写你想要修改的用户名:  ")
            NAME_new = input("你想把名字修改成什么呢?  ")
            NSEX_new = input("你想把性别修改成什么呢?  ")
            sql_uu_modify = "update uuser set NAME = '" + NAME_new + "',NSEX = '" + NSEX_new + "' where NNO = '" + NNO +"'"
            cursor.execute(sql_uu_modify)
            connect.commit()
            print("修改用户成功...")

        elif (int(flag) == 3): # 添加商品操作 商品号自动生成
            MNO = input("请输入十二位数的商品号:")
            MNAME = input("请输入商品名:")
            sql_mm_add = "insert into mmarket(MNO,MNAME) values('" + MNO + "','" + MNAME + "')"
            cursor.execute(sql_mm_add)
            connect.commit()
            print("添加商品成功...")

        elif (int(flag) == 4): # 删除商品操作
            MNAME = input("请输入你要删除的商品名:")
            sql_mm_delete = "delete from mmarket where MNAME = '" + MNAME + "'"
            cursor.execute(sql_mm_delete)
            connect.commit()
            print("删除商品成功...")

        elif (int(flag) == 5): # 修改商品操作
            MNO = input("请输入你要修改的商品号:")
            MNAME_new = input("你想把商品名修改为什么呢?")
            sql_mm_modify = "update mmarket set MNAME = '" + MNAME_new + "' where MNO = '" + MNO + "'"
            cursor.execute(sql_mm_modify)
            connect.commit()
            print("修改商品信息成功...")

        elif (int(flag) == 6): # 添加订单信息
            NNO = input("输入新用户的用户名:")
            MNO = input("请入新的商品的商品号:")
            sql_um_add = "insert into ureservation(NNO,MNO) values('" + NNO + "','" + MNO + "')"
            cursor.execute(sql_um_add)
            connect.commit()
            print("添加订单信息成功...")

        elif (int(flag) == 7): # 删除订单信息
            MNO = input("输入你想要删除订单的商品号;")
            sql_um_delete = "delete from ureservation where MNO = '" + MNO + "'"
            cursor.execute(sql_um_delete)
            connect.commit()
            print("删除订单信息成功...")

        elif (int(flag) == 8): # 结束!
            break

        else:
            continue

if __name__ == '__main__':
    try:
        while True:
            server = "127.0.0.1"
            database = "demo01"
            connect = ""
            flag = login_page()
            while ((int(flag) != 1) & (int(flag) != 2) & ((int(flag) != 3)) & ((int(flag) != 4))):
                print("输入身份有误,请重新输入...")
                flag = login_page()

            # sa 用户连接
            if (int(flag) == 1):
                connect = login_page_user(server,database)
                databaseManage_sa(connect)

            # u1 用户连接
            elif (int(flag) == 2):
                connect = login_page_user(server,database)
                databaseManage_u1(connect)

            # 自己连接并进行相关操作
            elif (int(flag) == 3):
                connect = login_page_user(server,database)  # 用户名和密码均为 1908524034
                databaseManage_1908524034(connect)

            elif (int(flag) == 4):
                # 关闭数据库连接
                connect.close()
                exit(0)

    except:
        print("......完毕!")


  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着科技的不断进步,我们的生活变得越来越离不开各种各样的程序。程序已成为我们日常生活和工作中不可或缺的一部分,它们可以帮助我们更高效地完成任务,节省时间和精力。今天,我要向大家介绍一款功能强大、用途广泛的程序,它具有万金油般的能力,可以为我们的生活带来极大的便利。 首先,这款程序具有非常强大的功能。它不仅可以帮助我们完成日常的文字处理、数据分析和报表制作等任务,还支持各种格式的文件读取和编辑。同时,它还具有多种工具和插件,可以扩展其功能,满足我们不同的需求。无论是工作还是生活,这款程序都能帮助我们轻松应对各种挑战。 其次,这款程序的界面设计非常友好。它的界面简洁明了,操作简单易懂,即使是不熟悉电脑操作的人也可以轻松上手。同时,它还支持自定义快捷键和界面主题,可以让我们根据自己的习惯和喜好进行个性化设置。 此外,这款程序还具有出色的稳定性和安全性。它采用了先进的技术和算法,可以保护我们的文件和数据安全。同时,它还支持自动备份和恢复功能,即使出现意外情况,也可以帮助我们快速恢复到之前的状态。 总之,这款程序就像生活中的万金油一样,具有广泛的应用场景和多种功能。它可以为我们的生活和工作带来便利和效率,帮助我们更好地应对各种挑战。如果您还在为处理各种任务而烦恼,不妨尝试一下这款程序,或许它会成为您的得力助手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值