《MySQL的条件查询》

【一】条件查询where

运算符                                                            说明

>,>=,<,<=                                                       大于,大于等于,小于,小于等于

=                                                                    等于,NULL不安全,例如NULL=NULL的结果NULL

<=>                                                                等于,NULL安全,NULL<=>NULL的结果是true

between...and...                                            匹配范围,如果范围是相等的则返回true

in(a1,a2,a3...)                                     其中任何一个是成立的,都返回true

is NULL                                                        是NULL

is not NULL                                                  不是NULL

LIKE                                                       模糊匹配,%表示任意多个任意字符,_表示任意一个字符

AND                                                            多个条件必须都为true,结果才是true

OR                                                              任意一个条件为true,结果就是true

NOT                                                           条件为TRUE,结果为FALSE

tips:

where条件可以使用表达式,但是不能使用别名

and的优先级是大于or,在同时使用时,需要使用小括号()包裹优先被执行的那部分,其实勤打括号对于程序员本身来说就是一个好习惯。

【二】分页查询:LIMIT

语法:select...from ... where ... order by...limit n

从0开始,筛选n条结果

语法:select...from ... where ... order by...limit s, n

从s开始,筛选n条结果

语法:select...from ... where ... order by...limit n offset s

从s开始,筛选n条结果

【三】update 修改

语法:update ... set...

update exam_result set math=80 where name='孙悟空';

将exam_result 这张表里面的name为孙悟空的人的数学成绩改成80.

tips:这个操作会涉及到修改数据库内部表的内容,所以修改表的时候需要谨慎,因为一旦改完之后,你是找不到你上次记录的。这比删库还麻烦,删库起码还能有备份,但是你这个修改是找不到原来的数据。

【四】delete 删除

语法:delete from ...  where...order by... limit...

例子:delete from exam_result where name='孙悟空';

从exam_result这张表中删除名字称为’孙悟空‘的人的记录

【五】数据库约束

约束类型:

NOT NULL——指示某列不能存储NULL值。

UNIQUE——保证某列的每行必须有唯一的值

DEFAULT——规定给没有给列赋值时的默认值

PRIMARY KEY——NOT NULL和UNIQUE的结合版本,有唯一标识,有助于快速找到表中的一个特定的记录。

FOREIGN KEY——保证一个表中的数据匹配另一个表中参照的完整性。

CHECK——保证列中的值符合指定的条件,对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。

【六】聚合函数

常见的统计总是,计算平均值等操作,可以使用聚合函数来实现,常见的聚合函数有:

函数                                                                       说明

COUNT()                                                          返回查询到的数据的数量

SUM()                                                               返回查询到的数据的总和,不是数字没有意义

AVG()                                                                返回查询到的数据的平均值,不是数字没有意义

MAX()                                                               返回查询到的数据的最大值,不是数字没有意义

MIN()                                                                返回查询到的数据的最小值,不是数字没有意义

tips:这个不是数字没有意义的意思是,如果这个内容为NULL,那么不把这个选项当作总量和个体量。

【七】GROUP BY子句

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

【八】HAVING

group by 子句进行分组以后,需要对分组之后进行条件过滤,不能使用where语句,需要用到having语句。

【九】笛卡尔积

看到笛卡尔这三个字,你是不是觉得很熟悉,想到我们曾经学习的高中几何的笛卡尔坐标系,事实上这个笛卡尔和高中的笛卡尔积的确是一个人。

以上就是这期的全部内容了,觉得写的还不错的话,还请给个一键三连,毕竟码字不易。如果有啥问题的话,还请位于评论区进行斧正。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值