1. 创建并合理设计表:至少满足如下要求 商品: 商品名称 、商品描述、商品价格、商品数量、商品类别等 商品类别: 类别名称 、多级分类,类别排序 商品购买表: 购买的商品、数量

本文主要是介绍1. 创建并合理设计表:至少满足如下要求 商品: 商品名称 、商品描述、商品价格、商品数量、商品类别等 商品类别: 类别名称 、多级分类,类别排序 商品购买表: 购买的商品、数量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

习题整理总结
高级查询
1、 创建并合理设计表:至少满足如下要求
商品: 商品名称 、商品描述、商品价格、商品数量、商品类别等
商品类别: 类别名称 、多级分类,类别排序
商品购买表: 购买的商品、数量 、价格 等

#创建商品类别
create table category(
id int UNSIGNED auto_increment key ,name varchar(20),pid int UNSIGNED DEFAULT 0,sorts TINYINT UNSIGNED
);#创建商品表 
create table goods(
id int UNSIGNED auto_increment key ,name varchar(20),content text,price decimal(10,2),stock MEDIUMINT DEFAULT 0,cid int unsigned,categoryPath varchar(200),create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,update_time TIMESTAMP on update CURRENT_TIMESTAMP
);#商品购买表
create table goods_sale(
id int UNSIGNED auto_increment key ,
gid int UNSIGNED,
name varchar(20),
num MEDIUMINT DEFAULT 0,
price decimal(10,2),
create_time TIMESTAMP DEFAULT  CURRENT_TIMESTAMP   
);

运行SQL语句成功建立三张表。
在这里插入图片描述
2、写一个存储过程,实现商品类别数据插入至少4条

create PROCEDURE p_initcategory()
begininsert into category(id,name,pid,sorts)values(1,'电器',0,1),(2,'电脑',0,2),(null,'电视',1,1),(null,'空调',1,2),(null,'笔记本',2,1);
end;#调用
call p_initcategory();

插入数据成功
在这里插入图片描述
数据显示如下:

在这里插入图片描述
3、写一个存储过程,插入商品数据n条

create PROCEDURE p_initgoods()
begininsert into goods(name,content,price,stock,categoryPath)values('小米电视','',2999,100,'1/3/'),('格力空调','',6999,50,'1/4/'),('创维电视','',2100,10,'1/3/');
end;#调用
call p_initgoods();

运行成功可显示下图进行查看
在这里插入图片描述
在这里插入图片描述
4、关联查询显示商品名称、价格、数量、类别

select g.`name`,g.price,g.stock,c.`name` categoryname  from goods g JOIN category c on g.cid=c.id

注意标点符号的使用,可以直接把sql代码复制过去。
在这里插入图片描述
5、根据类别查询出对应商品数据

select * from goods where instr(categoryPath,'3/')

在这里插入图片描述
6、写一个触发器添加商品购买记录时,自动更新商品数量
在这里插入图片描述
7、写一个函数,根据类别id返回类别名称

create FUNCTION f_queryCategoryName(_id int UNSIGNED)
returns varchar(20)
begin DECLARE _name varchar(20);select name into _name from category where id=_id;return _name;
end;select f_queryCategoryName(1);

在这里插入图片描述
8、统计商品销售情况,显示商品名称、销售数量,取排名前三

select s.`name`,sum(s.num) num from goods_sale s group by name order by num desc limit 3

在这里插入图片描述
9、查询当天的购买记录

select * from goods_buy where date_format(create_time,'%Y-%m-%d')=curdate();

在这里插入图片描述
10、查询最近3天的购买记录

select * from goods_buy where DATE_FORMAT(create_time,'%Y-%m-%d')>=DATE_FORMAT(DATE_SUB(now(),interval 3 day),'%Y-%m-%d')

在这里插入图片描述

这篇关于1. 创建并合理设计表:至少满足如下要求 商品: 商品名称 、商品描述、商品价格、商品数量、商品类别等 商品类别: 类别名称 、多级分类,类别排序 商品购买表: 购买的商品、数量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416649

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

Python中lambda排序的六种方法

《Python中lambda排序的六种方法》本文主要介绍了Python中使用lambda函数进行排序的六种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1.对单个变量进行排序2. 对多个变量进行排序3. 降序排列4. 单独降序1.对单个变量进行排序

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2