摘要:一、使用视图进行查询操作 ### 需求: 查询各个分类下的商品平均价格 ~~~ # 通过 多表查询 SELECT cname AS '分类名称', AVG(p.`price`) AS '平均价格' FROM products p LEFT JOIN category c ON p.`category
阅读全文
摘要:一、视图和表的区别 ### 视图和表的区别 ——> 视图是建立在表的基础上,表存储数据库中的数据,而视图只是做一个数据的展示 ——> 通过视图不能改变表中数据(一般情况下视图中的数据都是表中的列 经过计算得到的结果,不允许更新) ——> 删除视图,表不受影响,而删除表,视图不再起作用 二、sql语句
阅读全文
摘要:一、索引性能测试 ### 导入数据表 ——> 选中 db4数据库 右键 导入SQL脚本 二、 找到软件文件夹下的 测试索引.sql文件, 点击执行 ### 查询 test_index 表中的总记录数 ——> 表中有 500万条数据 SELECT COUNT(*) FROM test_index; 三
阅读全文
摘要:一、什么是视图 ### 什么是视图 ——> 1. 视图是一种虚拟表。 ——> 2. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。 ——> 3. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句. ——> 4. 视图向用户提供基表数据的另一
阅读全文
摘要:一、索引的介绍 ### 什么是索引 ——> 在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引, ——> 可以令MySQL的查询和运行更加高效。 ——> 如果合理的设计且使用索引的MySQL是一辆兰博基尼的话, ——> 那么没有设计和使用索引的MySQL就是一个人力三轮车。 ——>
阅读全文
摘要:一、数据库反三范式 ### 概念 ——> 反范式化指的是通过增加冗余或重复的数据来提高数据库的读性能 ——> 浪费存储空间,节省查询时间 (以空间换时间) ### 什么是冗余字段 ? ——> 设计数据库时,某一个字段属于一张表,但它同时出现在另一个或多个表, ——> 且完全等同于它在其本来所属表的意
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、数据库三范式(空间最省) ### 数据库三范式(空间最省) ~~~ # 概念: 三范式就是设计数据库的规则. ——> 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。 ——> 在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。 ——> 要想设计一个结构合理的
阅读全文
摘要:一、子查询的结果作为一张表 ### 语法格式 SELECT 查询字段 FROM (子查询)表别名 WHERE 条件; ### 查询商品中,价格大于500的商品信息,包括 商品名称 商品价格 商品所属分类名称 ### 注意: 当子查询作为一张表的时候,需要起别名,否则无法访问表中的字段。 -- 1.
阅读全文
摘要:一、子查询结果是单列多行 ### 子查询的结果类似一个数组, 父层查询使用 IN 函数 ,包含子查询的结果 ~~~ # 语法格式 SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询); ### 查询价格小于两千的商品,来自于哪些分类(名称) ~~~ # 查询价格小于两千的商品,来
阅读全文
摘要:一、子查询作为查询条件 ### 子查询的结果作为查询条件 ~~~ # 语法格式 SELECT 查询字段 FROM 表 WHERE 字段=(子查询); ### 通过子查询的方式, 查询价格最高的商品信息 -- 1.先查询出最高价格 SELECT MAX(price) FROM products; --
阅读全文
摘要:一、外连接查询 ### 左外连接 ——> 左外连接 , 使用 LEFT OUTER JOIN , OUTER 可以省略 ### 左外连接的特点 ——> 以左表为基准, 匹配右边表中的数据,如果匹配的上,就展示匹配到的数据 ——> 如果匹配不到, 左表中的数据正常展示, 右边的展示为null. ###
阅读全文
摘要:一、子查询 ### 什么是子查询 ~~~ # 子查询概念 ——> 一条select 查询语句的结果, 作为另一条 select 语句的一部分 ~~~ # 子查询的特点 ——> 子查询必须放在小括号中 ——> 子查询一般作为父查询的查询条件使用 ~~~ # 子查询常见分类 ——> where型 子查询
阅读全文
摘要:一、多表查询 ### 什么是多表查询 ——> DQL: 查询多张表,获取到需要的数据 ——> 比如 我们要查询家电分类下 都有哪些商品,那么我们就需要查询分类与商品这两张表 ### 数据准备 ——> 创建db3_2 数据库 -- 创建 db3_2 数据库,指定编码 CREATE DATABASE d
阅读全文
摘要:一、多表查询的分类 ### 内连接查询 ~~~ 内连接的特点: ~~~ 通过指定的条件去匹配两张表中的数据, 匹配上就显示,匹配不上就不显示 ~~~ 比如通过: 从表的外键 = 主表的主键 方式去匹配 ### 隐式内连接 ~~~ from子句 后面直接写 多个表名 使用where指定连接条件的 这种
阅读全文
摘要:一、多对多关系 ### 多对多(m:n) ——> 例如:老师和学生,学生和课程,用户和角色 ### n 多对多关系建表原则 ——> 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的 主键。 二、sql语句 ### sql语句 -- 多对多关系 演员与角色 -- 演员表 C
阅读全文
摘要:一、一对一关系 ### 一对一关系 ——> [一对一关系介绍]——[设计省市:一对多关系]——[设计演员与角色表:多对多关系] ### 一对一(1:1) ——> 在实际的开发中应用不多.因为一对一可以创建成一张表。 ### 一对一建表原则 ——> 外键唯一 主表的主键和从表的外键(唯一),形成主外键
阅读全文
摘要:一、级联删除 ### 如果向实现删除主表数据的同时,也删除掉从表数据,可以使用级联删除操作级联删除 ON DELETE CASCADE ### 删除 employee表,重新创建,添加级联删除 -- 重新创建添加级联操作 CREATE TABLE employee( eid INT PRIMARY
阅读全文
摘要:一、多表关系设计 ### 多表关系设计 ——> 实际开发中,一个项目通常需要很多张表才能完成。 ——> 例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。 ——> 且这些表的数据之间存在一定的关系,接下来我们一起学习一下多表关系设计方面的
阅读全文
摘要:一、创建外键约束 ### 语法格式: ——> 新建表时添加外键 [CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名) ——> 已有表添加外键 ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FO
阅读全文