mysql三大约束,3.mysql增删改查实例和约束

一:

1.查询数学成绩在70分以上的所有信息

select *from rg where math_score>70;

2.查询数学成绩在70分以上的人数

count(字段)是一个mysql函数,用来统计查出来的记录条数

select count(*) from rg where math_score>70;

3.查询数学成绩在70分以上而且身高在160以上的学生的所有信息

多个筛选条件的时用and拼接条件

select * from rg where math_score>70 and height >160;

4.查询数学成绩分数的总和

sum(字段)是一个mysql函数,用来求和

select sum(math_score) from rg;

5.查询女生数学成绩分数的总和

select sum(math_score) from rg where gender="女";

6.查询女生各科成绩的总和

select sum(math_score), sum(chinese_score) ,sum(english_score) from rg where gender="女";

为了给用户呈现更好的视图我们可以用as来取别名

select sum(math_score) as' 数学成绩',sum(chinese_score) as'语文成绩',sum(english_score) as'英语成绩' from rg where gender="女";

7.男生的数学成绩的平均成绩

sum可以对varchar求和,avg只能对int求平均值,avg(字段)是一个mysql函数,用来求平均值

select AVG(math_score) as '数学平均成绩' from rg;

8.求同学里面语文成绩最高的那个人的语文成绩

max()求最大值

select max (chinese_score) as '语文成绩' from rg;求同学里面语文成绩最低的那个人语文成绩。

min()求最小值

select min (chinese_score) as '语文成绩' from rg;

9.我们写sql指令的时候不要光顾着查出来就好了就ok了 我们要为用户着想

select student_name as '姓名',class_id as '班级号',math_score as '数学成绩',chinese_score as '语文成绩', english_score as '英语成绩',height as '身高' from rg where student_name='小红';

二:约束

1.(1)主键约束:将表中的某一字段添加约束设为不重复且不为空

设定int为主键约束后,不允许再次插入int相同的数据否则会报错

2027ea8f67e431a7de60de18c1620bf3.png

(2)联合主键:设多个主键,只要不同时重复即可,主键不能为空否则报错。下图中前三个没问题,最后一个会报错因为有空值

7e4876fdbafe9267fabd3c3a9bbeacfd.png

(3)初始时没有设定主键约束,如何再补上约束

修改表user4加上主键id

98e8b98f2836697adc5d14a4831df017.png

(4)如何删除主键

3f10e089ed79a11a51e070b8a45e824a.png

(5)使用modify修改字段添加约束

b4df7fd00f0eb562e16b7e65b2bbde21.png

2.自增约束:可以和主键约束搭配用来管控id的值,保证不重复唯一且可自增。

下图中我们并没有插入id的值,但通过自增它会自动把ID赋值为1,再次插入一个数据后,该数据ID为2

18daea4f5dca6c2b0bd83ce0c555d561.png

3d16198d40a672499124a31ab8ab8297.png

3.唯一约束:约束字段的值不能重复

创表时添加

865de29e3ce414d38bc4d6eeba2152d9.png

创表后添加

de81ff3143b54ede35a39e4253d3d696.png

modify添加

删除唯一约束

cdd66b32506e87c3212d7c61bba5dc21.png

3.非空约束

88de86b50a2a24a26b004678a4951bea.png

4.默认约束:当我们没有插入值时,会使用默认的值

e7d952c1ea28caa3b48e49b45a54e003.png

5.外键约束:涉及两个表 子表和父表

主表classes中没有的数据值,在副表中是不可以使用的

主表中的记录被副表引用,是不可以被删除的(如下图不可以删除主表中的四班,因为已经被副表引用即副表中有学生属于了四班)

8ce759635ae01fe9d7d008d64e79805e.png

e44fe63b817da54a24733446728076c8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值