MySQL数据库系统经典之珊珊食堂实现-----MySQL

CREATE DATABASE 珊珊平台
GO
USE 珊珊平台
GO
CREATE TABLE 用户                                                             
(
    账号 varchar(20) NOT NULL PRIMARY KEY,
    姓名 varchar(10) NOT NULL,
    密码 varchar(50) NOT NULL     
           )
           
CREATE TABLE 订单信息  
(                                                          
    订单编号 int NOT NULL PRIMARY KEY, 
  下单老师名称 varchar(10),
    套餐名 varchar(50),
  套餐份数 int,
  状态 int, 
    下单时间 datetime,
  送达时间 datetime
  
           )
          
CREATE TABLE 教师信息                                                            
(
    教师编号 int NOT NULL PRIMARY KEY,
    姓名 varchar(10) NOT NULL,            
  联系电话  varchar(50) 
           )
           
CREATE TABLE 菜品表
(
    菜品名 varchar(50) NOT NULL PRIMARY KEY,
    菜品类型编号 int
)
CREATE TABLE 菜品类型表
(
    菜品类型编号 int NOT NULL PRIMARY KEY,
    菜品类型名 varchar(10)
)

CREATE TABLE 套餐信息
(
 套餐名 varchar(50) NOT NULL PRIMARY KEY,
 荤菜A varchar(10),
 荤菜B varchar(10),
 素菜 varchar(10)
)

---1.输入菜品类型数据,如荤菜、素菜
insert into 菜品类型表 values(1,'荤菜') ,(2,'素菜')
---2. 增加三个教师信息
insert into 教师信息(教师编号,姓名,联系电话) values(1,'晟烨','13754126874'),
(2,'李如梅','13753485674'),(3,'马林','13754142874')
---3.增加六个菜品的信息,如卤水鸡中亦、洋葱肉片、榨菜排骨、蒸肉饼、冬瓜肉丸、青菜
declare @荤菜 int
declare @素菜 int
select @荤菜 = 菜品类型编号 from 菜品类型表 where 菜品类型名 = '荤菜'
select @素菜 = 菜品类型编号 from 菜品类型表 where 菜品类型名 = '素菜'
insert into 菜品表(菜品名,菜品类型编号) values('卤水鸡中亦',@荤菜),
('洋葱肉片',@荤菜),('榨菜排骨',@荤菜),('蒸肉饼',@荤菜),('冬瓜肉丸',@荤菜),('青菜',@素菜)
---4.某教师订购了两份盒饭,一份是卤水鸡中亦、洋葱肉片、青菜,另一份是蒸肉饼、冬瓜肉丸、青菜
insert into 套餐信息(套餐名,荤菜A,荤菜B,素菜) values('洋葱卤水鸡','卤水鸡中亦','洋葱肉片','青菜'),
('肉饼冬瓜丸子','蒸肉饼','冬瓜肉丸','青菜')
insert into 订单信息
([订单编号]
      ,[下单老师名称]
      ,[套餐名]
      ,[套餐份数]
      ,[状态])
 values(20221205,'马林','肉饼冬瓜丸子',1,50),(20221206,'晟烨','洋葱卤水鸡',1,50)
---5.将某订单的下单人姓名改为自己的姓名,如订单名为“20221205”
update 订单信息 set 下单老师名称 = '晟烨'  where 订单编号 = 20221205
---6.查询某教师的订单记录,如姓名为“晟烨”的订单信息
select * from 订单信息 where 下单老师名称 = '晟烨'
---7. 菜品分类统计当天的总订单数视图
create view 菜品统计 as
select count(*)AS 今日总订单数 from 订单信息 where 下单时间 = GETDATE()
---8.为“珊珊平台”数据库增加一个用户“纳济”,允许“纳济”对菜品表和订单表进行修改操作 
use 珊珊平台
go
exec sp_addlogin 纳济,'123456','珊珊平台'
go
exec sp_addrolemember'db_datareader','纳济'
grant update on 菜品表 to 纳济
grant update on 订单表 to 纳济
---9.查看某位老师当天全部订单详情,包括其中菜品详情
create proc 查看订单(@老师名称 varchar(10)) AS
BEGIN
select * from 订单信息 A join 套餐信息 B ON A.套餐名 = B.套餐名
where 下单老师名称 = @老师名称
END

CREATE DATABASE 珊珊平台
GO
USE 珊珊平台
GO
CREATE TABLE 用户                                                             
(
    账号 varchar(20) NOT NULL PRIMARY KEY,
    姓名 varchar(10) NOT NULL,
    密码 varchar(50) NOT NULL     
           )
           
CREATE TABLE 订单信息  
(                                                          
    订单编号 int NOT NULL PRIMARY KEY, 
  下单老师名称 varchar(10),
    套餐名 varchar(50),
  套餐份数 int,
  状态 int, 
    下单时间 datetime,
  送达时间 datetime
  
           )
          
CREATE TABLE 教师信息                                                            
(
    教师编号 int NOT NULL PRIMARY KEY,
    姓名 varchar(10) NOT NULL,            
  联系电话  varchar(50) 
           )
           
CREATE TABLE 菜品表
(
    菜品名 varchar(50) NOT NULL PRIMARY KEY,
    菜品类型编号 int
)
CREATE TABLE 菜品类型表
(
    菜品类型编号 int NOT NULL PRIMARY KEY,
    菜品类型名 varchar(10)
)

CREATE TABLE 套餐信息
(
 套餐名 varchar(50) NOT NULL PRIMARY KEY,
 荤菜A varchar(10),
 荤菜B varchar(10),
 素菜 varchar(10)
)

---1.输入菜品类型数据,如荤菜、素菜
insert into 菜品类型表 values(1,'荤菜') ,(2,'素菜')
---2. 增加三个教师信息
insert into 教师信息(教师编号,姓名,联系电话) values(1,'晟烨','13754126874'),
(2,'李如梅','13753485674'),(3,'马林','13754142874')
---3.增加六个菜品的信息,如卤水鸡中亦、洋葱肉片、榨菜排骨、蒸肉饼、冬瓜肉丸、青菜
declare @荤菜 int
declare @素菜 int
select @荤菜 = 菜品类型编号 from 菜品类型表 where 菜品类型名 = '荤菜'
select @素菜 = 菜品类型编号 from 菜品类型表 where 菜品类型名 = '素菜'
insert into 菜品表(菜品名,菜品类型编号) values('卤水鸡中亦',@荤菜),
('洋葱肉片',@荤菜),('榨菜排骨',@荤菜),('蒸肉饼',@荤菜),('冬瓜肉丸',@荤菜),('青菜',@素菜)
---4.某教师订购了两份盒饭,一份是卤水鸡中亦、洋葱肉片、青菜,另一份是蒸肉饼、冬瓜肉丸、青菜
insert into 套餐信息(套餐名,荤菜A,荤菜B,素菜) values('洋葱卤水鸡','卤水鸡中亦','洋葱肉片','青菜'),
('肉饼冬瓜丸子','蒸肉饼','冬瓜肉丸','青菜')
insert into 订单信息
([订单编号]
      ,[下单老师名称]
      ,[套餐名]
      ,[套餐份数]
      ,[状态])
 values(20221205,'马林','肉饼冬瓜丸子',1,50),(20221206,'晟烨','洋葱卤水鸡',1,50)
---5.将某订单的下单人姓名改为自己的姓名,如订单名为“20221205”
update 订单信息 set 下单老师名称 = '晟烨'  where 订单编号 = 20221205
---6.查询某教师的订单记录,如姓名为“晟烨”的订单信息
select * from 订单信息 where 下单老师名称 = '晟烨'
---7. 菜品分类统计当天的总订单数视图
create view 菜品统计 as
select count(*)AS 今日总订单数 from 订单信息 where 下单时间 = GETDATE()
---8.为“珊珊平台”数据库增加一个用户“纳济”,允许“纳济”对菜品表和订单表进行修改操作 
use 珊珊平台
go
exec sp_addlogin 纳济,'123456','珊珊平台'
go
exec sp_addrolemember'db_datareader','纳济'
grant update on 菜品表 to 纳济
grant update on 订单表 to 纳济
---9.查看某位老师当天全部订单详情,包括其中菜品详情
create proc 查看订单(@老师名称 varchar(10)) AS
BEGIN
select * from 订单信息 A join 套餐信息 B ON A.套餐名 = B.套餐名
where 下单老师名称 = @老师名称
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值