MySQL查询、约束、多表之间的关系、范式

MySQL查询、约束、多表之间的关系、范式

重点学习内容

  • DQL查询语句
    • 排序查询
    • 聚合函数
    • 分组查询
    • 分页查询
  • 约束
  • 多表之间的关系
  • 范式
  • 数据库的备份和还原

DQL查询语句

  • 排序查询

    • 升序:语法+order by 字段1 asc,字段2 asc,字段n asc…
    • 降序:语法+order by 字段1 desc,字段2 desc,…字段n desc…
    • 注意: 第一字段相同时,才会根据第二字段排序哦
  • 聚合函数

    • count:计算个数
      • 一般选择非空的列:主键
    • max:计算最大值
    • min:计算最小值
    • sum:求和
    • avg:计算平均值
    • 注意:聚合函数计算会排除null;
  • 分组查询

    • 场景:student男同学一组,女同学一组,看他们谁的英语平均分高
    • 语法: group by+ 分组字段
    • 分组之后查询的字段:分组字段、聚合函数
    • where,having:where分组之前限定,having分组之后限定,如果不满足,exit不查询。 where后不可以跟聚合函数,having后可以
    • 举个栗子
      • SELECT sex,AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex; – 分组前限定数学70分+
      • SELECT sex,AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex having count(id) > 2; – 分组后限定人数 >2
  • 分页查询

    • 语法: limit 开始的索引,限定的条数
    • 开始的索引公式 = (当前页码数 - 1)* 每页的条数
      • SELECT *FROM student LIMIT 0,3; – 第一页,展示前三条
      • SELECT *FROM student LIMIT 4,6; – 第二页,展示4-6条
  • 约束

    • 概念:对表的数据进行限定,保证表的数据正确性、有效性、完整性;我们在创建表的过程中添加对字段的约束
    • 分类:
      • 主键约束:primary key
      • 非空约束:not null
      • 唯一约束:unique
      • 外键约束:foreign key
  • 主键约束

    • 注意
      • 含义:非空且唯一
      • 一张表只能有一个字段为主键
      • 主键是表中记录的唯一标识:比如身份证
    • 添加/删除主键约束
      • 创建表添加:字段后加primary key
      • 删除:alter table stu drop primary key;
      • 添加字段:alter table stu modify id int primary key;
    • 自动增长
      • auto increament
      • 删除:alter table stu modify id int
  • 外键约束

    • 思路:在使用多张表的时候,我们可以用外键让两张表关联,比如一张员工表和一张部门表,同时具备一个id,部门id, 有销售部和研发部, 这时候你会发现,根本没办法操作部门表的id字段,比如删除部门表的id是不行的,这是外键约束的思路。 员工表 部门表
    • 语法:
      • create table 表名(

        dep_id int
        constraint 外键名称 foreign key (dep_id) references
        关联的主表名称(主表列名称)
        );

      • 删除外键:ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

      • 创建表后,添加外键:ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值