MySQL(六)MySQL 案例

1. MySQL 案例

1.1. 设计数据库

1、首先根据相关业务需求(主要参考输出输入条件)规划出表的基本结构

2、根据业务规则进行状态字段设计

3、预估相关表的数据量进行容量规划

4、确定主键

5、根据对相关处理语句的分析对数据结构进行相应的变更。

设计表的时候每个表的功能要独立,优点:结构清晰,操作数据库的时候提高性能

1.2. 实现数据库

(1)新建user表

(2)新建order表

(3)新建product表

(4)新建category表

1.3. 操作数据库

1.3.1. 插入记录

复制代码
insert into 表名(列名1,列名2,列名3......) values (值1,值2,值3......)



1.3.2. 修改表记录

复制代码
update 表名 set 字段名=值,字段名=值,字段名=值...... where 条件

1.3.3. 删除表记录

复制代码
delete from 表名 where id=4;


1.3.4. 查询操作语法

复制代码
select [distinct]*| 列名,列名 from 表名 [where条件]

(1)查询所有商品

复制代码
select * from category;

(2)查询商品名和商品价格

复制代码
SELECT product_name,product_price FROM product;

(3)查询商品名,使用列别名

复制代码
select product_name as "商品名称" from product;

(4)去掉重复值(按照价格)

复制代码
select distinct(product_price) from product;

(5)将所有的商品的价格+10进行显示

复制代码
select product_name, product_price+10 from product ;

1.3.5. 条件查询

(1)查询商品名称为"华为pura70"的商品信息

复制代码
select * from product where product_name='华为pura70';

(2)查询商品名称含有"pura"字的商品信息(模糊查询)

复制代码
select * from product where product_name like '%pura%';

(3)查询商品id在(1,3)范围内的所有商品信息

复制代码
select * from product where product_id in (1,3);

(4)查询商品名称含有"pura"字并且id为2的商品信息

复制代码
select * from product where product_name like '%pura%'and product_id=2;

(5)查询id为1或者3的商品信息

复制代码
select * from product where product_id=1 or product_id=3;

1.3.67 排序

(1)查询所有的商品,按价格进行排序(升序、降序)

复制代码
select * from product order by product_price asc;
select * from product order by product_price desc;

(2)查询名称査"pura"的商品信息并且按照价格降序排序

复制代码
select * from product where product_name like '%pura%' order by product_price desc;

1.3.6. 聚合函数

(1)获得所有商品的价格的总和

复制代码
select sum(product_price) from product;

(2)获得所有商品的平均价格

复制代码
select avg(product_price) from product;

(3)获得所有商品的个数

复制代码
select count(product_name) from product;

1.3.7. 分组操作

(1)根据category_id字段分组

复制代码
select category_id,count(*) from product group by category_id;

(2)根据category_id分组,分组统计每组商品的平均价格,并且平均价格大于200元

复制代码
select category_id,avg(product_price) from product group by category_id having avg(product_price)>200;
相关推荐
野犬寒鸦2 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL3 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·3 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德3 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫3 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i4 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.4 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn4 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露4 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
冰暮流星4 小时前
sql语言之分组语句group by
java·数据库·sql