【MySQL基础】MySQL基础操作二

🍎1.数据库约束

🍐约束类型

  • NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • DEFAULT - 规定没有给列赋值时的默认值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。

🍆1.1NOT NULL

创建表时,指定某一列不为空
例如在生成一个用户信息表时,此时身份证ID这一列就可以建立NOT NULL约束

在这里插入图片描述

🍆1.2UNIQUE

唯一约束

设置表中某列的数据唯一不重复
例如每个人的身份证是唯一的

在这里插入图片描述

🍆1.3DEFAULT

默认值约束

表创建好后,我们向表中填充内容时,如果某一列没有插入数据,则系统会默认生成一个数据来填充

在这里插入图片描述
此时我们在向表中填充数据时,如果没有输入姓名,则系统会默认将无名氏作为他的姓名。

🍆1.4PRIMARY KEY

主键约束

主键就相当于是NOT NULL 和 UNIQUE的结合体
主键不能为空,也不能重复

在这里插入图片描述
主键通常搭配auto_increment来使用
auto_increment的作用是当插入的数据没有赋值时,使用最大值+1
在这里插入图片描述
在这里插入图片描述
我们可以看到我们并没有给到id赋值,而在表中id确实是+1自增的。
当我们赋予一个id100时,那么id会从最大值100向后自增
在这里插入图片描述

🍆1.5FOREIGN KEY

外键约束

foreign key (字段名) references 主表(列)

外键用于关联其他表的主键或唯一键,
例如有一个学生表和班级表
学生只能是一个班级的,而班级可以有很多学生

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

🍏2.查询操作

🍟2.1聚合查询

🍔2.1.1聚合函数

函数说明
COUNT([DISTINCT] expr)返回查询到的数据的数量
SUM([DISTINCT] expr)返回查询到的数据的总和,不是数字没有意义
AVG([DISTINCT] expr)返回查询到的数据的平均值,不是数字没有意义
MAX([DISTINCT] expr)返回查询到的数据的最大值,不是数字没有意义
MIN([DISTINCT] expr)返回查询到的数据的最小值,不是数字没有意义

例如在如下这张表中查询平均年龄,使用AVG函数
在这里插入图片描述
在这里插入图片描述

🍔2.1.2GROUP BY

SELECT 中使用 GROUP BY 子句可以对指定列进行分组查询。需要满足:使用 GROUP BY 进行分组查询时,SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函数中。

select column1, sum(column2), .. from table group by column1,column3;

例如有如下一个表,表中的数据为:部门,姓名,薪资。
我们要在这个表中统计出各个部门的员工的平均工资,那么该如何计算呢?
首先我们将这些数据根据部门进行分类,之后在对各个部门的薪资进行均值计算
在这里插入图片描述
在这里插入图片描述

🍔2.1.3HAVING

GROUP BY 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用 WHERE 语句,而需要用HAVING

在上个表中,我们按照部门进行分类之后,要查询出平均工资小于1500的角色和平均工资

在这里插入图片描述
以上就是本篇文章所有内容,如果对你有帮助的话,点赞关注支持一下吧!

  • 39
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃南瓜的北瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值