导言:
该项目制作了两个端口,管理员端和顾客用户端,管理员端实现了对数据库中的数据表进行访问和增删改查操作,数据可长期保存,并展示出来,方便超市管理员对超市商品的管理。顾客端实现了对数据库进行访问,并制作一个购物车模式,并对顾客选择的商品进行结算,方便顾客选择商品,没有制作对顾客的购物数据进行长期保存(不想做了)。
此外,这也是一个相对比较完整的项目了呢,菜菜的我可是为了这个肝了不久呢,文章来之不易,好心人请你点赞关注一下,支持一下本博主吧!感谢!么么哒。
1.导入pymysql 模块
通过命令提示符导入:输入cmd 进入,然后输入
pip install pymysql
2.在python里连接mysql,并创建数据表 test1.py
2.1 连接数据库
import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='123abc',
charset='utf8'
)
# 获得游标
cursor = conn.cursor()
2.2 创建数据表,并输入数据
# 创建数据库
db_student = "create database if not exists dbtest"
cursor.execute(db_student)
# 创建水果表
sql_use = 'use dbtest'
cursor.execute(sql_use)
sql_table = 'create table if not exists fruits (stuID int primary key, ' \
'stuName varchar(20), stuPrice int)'
cursor.execute(sql_table)
# 插入数据
sql_one = "insert into fruits (stuID, stuName, stuPrice) values (%d, '%s', %d)"
data1 = (1001, '香蕉', 20)
data2 = (1002, '苹果', 21)
data3 = (1003, '樱桃', 20)
data4 = (1004, '凤梨', 19)
data5 = (1005, '柑橘', 22)
for i in [data1, data2, data3,data4, data5]:
cursor.execute(sql_one % i)
conn.commit()
2.3 打开数据库图形化页面工具,如有该表则说明创建成功(第六条数据是后面运行代码加上去的),也可以用命令提示符查找。
3.设计超市管理服务端代码 test2.py
3.0 连接数据库
import pymysql
# 数据库连接
def connect():
conn = pymysql.connect(host='localhost',
port=3306,
user='root',
password='123abc',
database='dbtest', #选择数据库
charset='utf8')
# 获取操作游标
cursor = conn.cursor()
return {"conn": conn, "cursor": cursor}
3.1 超市管理员操作端,实现效果:能对数据库表的数据进行增删查改,并长期保存。
3.1.1 对商品插入操作
#管理员操作,插入商品
def add_goods():
# 获取操作游标
connection = connect()
conn, cursor = connection['conn'], connection['cursor']
stuID = int(input('请输入要插入的商品编号:'))
stuName = input('请输入要插入的商品名字:')
stuPrice = input('请输入要插入的商品价格:')
add = cursor.execute('insert into fruits (stuID, stuName , stuPrice)\
values(%s,%s,%s)',(stuID, stuName ,stuPrice))
if add == 1: #利用游标查找数据表,如果数据库中有此表捕获,没有报异常
conn.commit() #把数据传入数据库
print('插入成功!')
else:
print('插入失败!')
show_commend() #返回show_commend()类
3.1.2 对商品进行下架操作(删除)
#删除商品记录
def delete_goods():
# 获取操作游标
connection = connect()
conn, cursor = connection['conn'], connection['cursor']
stuID= int(input('输入想要删除商品的编号:'))
delete = cursor.execute('delete from fruits where stuID= {}' .format(stuID))
if delete == 1: #利用游标查找数据表,如果数据库中有此表捕获,没有报异常
conn.commit() #把数据传入数据库
print('删除成功!')
else:
print('删除失败!')
show_commend() #返回show_commend()类
3.1.3 对商品进行单个查找操作(商品名查找方法,商品编号查找方法)
#管理员操作,查询单个商品之按商品编号查询
def g_by_id():
# 获取操作游标
connection = connect()
conn, cursor = connection['conn'], connection['cursor']
choice_id = int(input('请输入商品编号:'))
cursor.execute('select