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
MySQL数据库系统经典之珊珊食堂实现-----MySQL
于 2023-06-04 23:25:47 首次发布