数据库mysql⾃建模拟购物系统(建表语句、检索语句)
题⽬:购物系统数据库设计
⼀、场景描述
随着互联⽹的普及,越来越多的⼈选择⽹上购物。购物系统已经成为了必然趋势,购物系统的主要资源是商品。商品由⽤户从⽹上查看价格、品质、评论等选择商品,⽤户下单付款后商家发货处理。商品种类齐全,有⾷品类、⾐物类、电器类等等。
⽤户先进⾏平台注册。需要注册昵称、姓名、账号密码、性别、⼿机号等基本信息,注册成功登录后可进⾏查看商品,商品有商品名称、商品分类及图⽚展⽰等,⽤户可直接通过商品ID查看需要购买的商品,便捷省时。可通过商品ID字段查询对应的价格信息,选择好商品便可直接下单。
管理员可在后台查看⽤户购买信息记录,购买次数和购买该类商品的商品总价格,也可对商品价格数量进⾏更改等操作。
⼆、建表语句
(1)⽤户表
创建表
CREATE TABLE`user`(
`id`int(0)NOT NULL AUTO_INCREMENT,
`nickname`varchar(20)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`name`varchar(15)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`password`varchar(20)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`phone`varchar(11)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`sex`char(2)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`gmt_create`datetime(0)NULL DEFAULT NULL,
`gmt_modified`datetime(0)NULL DEFAULT NULL,
PRIMARY KEY(`id`)USING BTREE
)
ENGINE=InnoDB CHARACTER SET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = Dynamic;
添加数据
INSERT INTO`user`VALUES(1,'飞在天空中的野草帽','韩信','123','155********','男','2022-01-04 21:57:27','2022-01-04 21:57:36');
INSERT INTO`user`VALUES(2,'⼩聪明','花⽊兰','432','132********','⼥','2022-01-05 21:58:25','2022-01-05 21:58:32');
INSERT INTO`user`VALUES(3,'海阔天空','刘备','567','132********','男','2022-01-06 21:59:35','2022-01-06 21:59:42');
INSERT INTO`user`VALUES(4,'fly','⼩乔','789','132********','⼥','2022-01-07 22:01:09','2022-01-07 22:01:13');
INSERT INTO`user`VALUES(5,'会飞的猪','凯','786','155********','男','2022-01-08 22:02:27','2022-01-08 22:02:34');
(2)商品表
创建表
CREATE TABLE`product`(
`id`int(0)NOT NULL AUTO_INCREMENT,浏览器不支持js是什么意思
`name`varchar(255)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT'名称',
`type`varchar(255)CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT'类型',
`gmt_create`datetime(0)NULL DEFAULT NULL COMMENT'创建时间',
`gmt_modified`datetime(0)NULL DEFAULT NULL COMMENT'修改时间',
PRIMARY KEY(`id`)USING BTREE
)ENGINE=InnoDB CHARACTER SET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = Dynamic;
添加数据
正数的补码就是该数的反码吗INSERT INTO`product`VALUES(1,'三只松⿏奥尔良⼩鸡腿鸡翅中160g*1袋⽹红休闲零⾷⼩吃熟','⾷品','2022-01-04 22:07:57','2022-01-04 22:07:53');
INSERT INTO`product`VALUES(2,'CP正⼤⾷品炸鸡盐酥鸡1000g炸鸡⾁韩式炸鸡鸡⽶花鸡⾁原','⾷品','2022-01-05 22:09:04','2022-01-05 22:08:59');
INSERT INTO`product`VALUES(3,'溜溜梅 “梅”好全家桶三件套休闲青梅','⾷品','2022-01-06 22:10:08','2022-01-06 22:10:02');
INSERT INTO`product`VALUES(4,'沃隆每⽇坚果礼盒装1220g混合坚果整箱零⾷⼤礼包过年送礼年货','⾷品','2022-01-05 22:11:06','2022-01-05 22:11:01 ');
INSERT INTO`product`VALUES(5,' 夏诗⽂⼈间⼩巴黎仿兔⽑设计感⽴领环保⽪草⽑绒绒','⾐服','2022-01-11 22:12:20','2022-01-11 22:12:17');
INSERT INTO`product`VALUES(6,'秋冬卫⾐男加绒加厚2021新款长袖t恤秋装⾐服潮流','⾐服','2022-01-07 22:13:15','2022-01-07 22:13:10');
(3)价格表
创建表
CREATE TABLE`price`(
`id`int(0)NOT NULL AUTO_INCREMENT,
`p_id`int(0)NULL DEFAULT NULL COMMENT'商品id',
`price`decimal(10,2)NULL DEFAULT NULL COMMENT'价格',
PRIMARY KEY(`id`)USING BTREE
)ENGINE=InnoDB CHARACTER SET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = Dynamic;
添加数据
INSERT INTO`price`VALUES(1,1,19.90);
INSERT INTO`price`VALUES(2,2,39.90);replace函数替换名字
INSERT INTO`price`VALUES(3,3,99.00);
INSERT INTO`price`VALUES(4,4,139.00);
INSERT INTO`price`VALUES(5,5,498.00);
INSERT INTO`price`VALUES(6,6,39.90);
(4)购物车表
创建表
CREATE TABLE`car`(
`id`int(0)NOT NULL AUTO_INCREMENT,
`uid`int(0)NULL DEFAULT NULL COMMENT'⽤户id',
`pid`int(0)NULL DEFAULT NULL COMMENT'商品id',
`gm_num`int(0)NULL DEFAULT NULL COMMENT'购买数量',
`total`decimal(10,2)NULL DEFAULT NULL COMMENT'总价',
PRIMARY KEY(`id`)USING BTREE
)
ENGINE=InnoDB CHARACTER SET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = Dynamic;
添加数据
INSERT INTO`car`VALUES(1,1,1,2,19.90);
INSERT INTO`car`VALUES(2,1,2,3,119.70);
INSERT INTO`car`VALUES(3,2,4,2,278.00);
INSERT INTO`car`VALUES(4,3,2,1,39.90);
INSERT INTO`car`VALUES(5,4,3,1,99.00);
INSERT INTO`car`VALUES(6,5,4,1,139.00);
INSERT INTO`car`VALUES(7,3,5,1,498.00);
INSERT INTO`car`VALUES(8,4,5,1,498.00);
INSERT INTO`car`VALUES(9,4,6,1,39.90);
mysql查看所有存储过程INSERT INTO`car`VALUES(10,2,2,1,39.90);
三、检索语句
1、分别⽤通配符和正则表达式匹配韩信的user_name语句
通配符:
select user.name from user where name='韩信';
正则表达式:
select user.name from user where name regexp'韩信';
2 请写出:检索内容格式为“id-phone(name)的语句
select concat(id,'-',phone,concat('(',name,')'))as'id-phone(name)'from go.`user`;
3、查看选择⾷品的⼈数的语句
select count(type)as type_num from product where type='⾷品';
4、查看购买今年上架商品的⼈数
select count(distinct(car.uid))as number from car,product
where car.pid=product.id
and _create)=year(NOW());
java编程软件在哪下
5、写出购买“溜溜梅 "梅"好全家桶三件套 休闲青梅”的⽤户信息
select user.*
from user,car,product
where user.id=car.uid and car.pid=product.id
and product.`name`='溜溜梅 “梅”好全家桶三件套休闲青梅';
拳头6、检索每个商品⽤户的购买信息?
select product.`name`as p_name ,user.*
from user
left join car on`user`.id=car.uid
left join product on car.pid=product.id
group by product.`name`;
7、查询⽤户⼩乔购买上⾯的数量
select user.name,count(product.id)as number
from user,car,product
where user.id=car.uid and car.pid=product.id
and user.`name`='⼩乔'
8、通过视图查询各个⽤户名字及⼿机号
create view userinfo as
select name,phone from user;
select*from userinfo;
9、出消费50元以上的⽤户⼀共购买了⼏件物品,检索出对应的商品名称及价格
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论