Mysql查询语句 / 数据库设计三大范式

本文详细介绍了MySQL的单表查询语法,包括基本查询、条件查询、排序查询、聚合函数、分组查询以及分页查询。此外,还讨论了数据库设计中的约束类型,如主键、唯一性、非空和外键约束,以及级联操作。接着,解释了数据表之间的三种关系:一对一、一对多和多对多,并举例说明。最后,阐述了数据库设计的三大范式,强调了每个范式的重要性及其在确保数据完整性和一致性上的作用。
摘要由CSDN通过智能技术生成

一 . 单表查询

  1. 基本语法
    select
    — 字段列表
    from
    — 表名列表
    where
    — 条件列表
    group by
    — 分组字段
    having
    — 分组之后的条件

  2. 基础查询
    在这里插入图片描述

  3. 条件查询:where后跟条件

    • ,< ,<> , = , >= ,<=

    • BETWEEN … AND (包含)
    • IN (集合)
    • LIKE 模糊查询
    • IS NULL 为空
      在这里插入图片描述
      在这里插入图片描述
  4. 排序查询

  • order by 排序字段1,排序方式 ,排序字段2 ,排序方式2 …
    • ASC 升序(默认)
    • DESC 降序
      在这里插入图片描述
  1. 聚合函数:将一列数据作为一个整体,进行纵向的计算
  • count :计算个数
  • max: 计算最大值
  • min : 计算最小值
  • sum : 计算和
  • avg : 计算平均值
  • 注意:聚合函数的计算排除null值
    在这里插入图片描述
  1. 分组查询:统计具有相同特征的某一类数据,把这类数据作为一个整体(group by)
  • 注意:分组之后查询的字段:要么是分组字段,要么是聚合函数
  • where 和having的区别
    • where在分组之前进行限定,如果不满足条件,则不参与分组,where后不能跟聚合函数;
    • having在分组之后进行限定,如果不满足条件,就不会被查询出来
      在这里插入图片描述
  1. 分页查询 limit 索引,显示条数
    在这里插入图片描述

二. 约束

  1. 概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性
  2. 分类
  • 主键约束 : primary key 非空且唯一
    • auto_increment 自动增长
  • 非空约束 : not null ,不能为空
  • 唯一约束 : unique 可以有null值,但是只能有一个
  • 外键约束 :foreign key
  1. 级联操作
  • 级联更新 :on update cascade
  • 级联删除 :on delete cascade
    在这里插入图片描述
    在这里插入图片描述

三. 数据表之间的关系

  1. 多表之间的关系
    • 一对一:居民和身份证
    • 一对多:在多的一方去建立外键,指向一的一方的主键(部门和员工)
    • 多对多:多对多关系须要添加第三张表(学生和课程)
      在这里插入图片描述
      在这里插入图片描述

四: 数据库设计的三大范式

  1. 概念:数据库设计时,需要遵循的一些规范,要遵循后边的范式要求,必须满足前面的范式要求
  2. 第一范式(1NF):每一列都是不可分割的原子数据项(每一列都是单独的一列)
  3. 第二范式(2NF): 在INF的基础上消除非主属性对主码的部分函数依赖
  • 函数依赖:A–>B 如果通过A属性(属性组)的值,可以确定唯一B属性的值,则成B依赖于A (如 学号–>姓名) (课程,学号–>分数)
  • 部分函数依赖:如果A是一个属性组,那么B属性的确定只需要依赖组中的某一些值即可
    例如(学号,课程名称)–>姓名
  1. 第三范式(3NF):在2NF的基础上,消除传递依赖
    - 传递函数依赖:A–B,B–>C ,通过A确定B,通过B确定C ,则称C传递依赖于A
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值