MSIPO技术圈 首页 IT技术 查看内容

MySQL基础语法之判断语句的学习&&如何将检索数据的返回值赋值给变量,以及如何查看变量

2024-03-29

3月25日 条件函数

条件函数

select if(1<0,'正确','错误'); -- 1<0是条件,当条件正确后,则放回第一个值,正确,如果错误将返回第二个值错误
select ifnull(null,'hello world') -- 用于检测数据是否为空值,如果为空值,则返回hello world
-- 多个判断语句的组合
select case 
when 1>0   -- 1>0是条件
then '对的'  -- 如果上面的函数语句或判断式正确,则返回then后面对应的返回值
when 2>0
then '2确实大于0'  -- 同理从上到下执行
else '3>0'  -- else的做用就是保底,若前面的没有正确的,则会以else返回的值输出
end; -- end 收尾表示结束

​ 以上学习了条件判断函数,在MySQL检索数据,我们能否把数据的返回值赋值给某个制定的变量呢,当然可以,当我们学会了如何赋值后又可以做很多操作,是不是很有趣呢!!!

MySQL的赋值语法

-- 案例范文,提问:将男性和女性的人数分别统计出来
CREATE TABLE `user_submit` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`profile` varchar(100) NOT NULL,
`blog_url` varchar(100) NOT NULL
);
INSERT INTO user_submit VALUES(1,2138,'180cm,75kg,27,male','http:/url/bisdgboy777');
INSERT INTO user_submit VALUES(1,3214,'165cm,45kg,26,female','http:/url/dkittycc');
INSERT INTO user_submit VALUES(1,6543,'178cm,65kg,25,male','http:/url/tigaer');
INSERT INTO user_submit VALUES(1,4321,'171cm,55kg,23,female','http:/url/uhsksd');
INSERT INTO user_submit VALUES(1,2131,'168cm,45kg,22,female','http:/url/sysdney');
select * from `user_submit`;

-- 方法一:赋值后运算
select @sum := 1 -- 这是一个简单的赋值,赋值后sum就等于1啦
select @sum  -- 这是查看变量的方法,此时返回值为1
-- @这个像一个铭牌,sum是写在铭牌上的名字,所以铭牌和名字都不能丢,:= 则是赋值符号
-- 平时当我们要做一些复杂的检索时并且需要用到函数的时候,则需要用用括号把建设的函数语句包裹起来
select @girl := (select count(id) from user_submit where profile like '%female')
-- 上面这个句子,是为了找到数据表第3列中包含female(女性)的人数
select @boy := (select count(id) from `user_sumbit`) - @girl; 
-- 上面这个句子,就是先在统计数据表中一共有多少人,然后再用总人数减去,女孩子的人生,即得男生的人生

-- 方法二: group by 的使用&&if函数的使用
select if(profile like '%female','女','男') as xb, -- as xb 则是把表头修改为xb
count(id) as number
from user_submit group by xb;  -- group by 是对搜索结果进行返回

-- 方法三: 字符串分割法
select substring_index(profile,',','-1')as gender,count(device_id) from user_submit
group by gender;
-- 数据表第3列的数据如下形式180cm,75kg,27,male是由逗号分割的,所以(profile,',','-1')就是以逗号分割为依据,然后锁定最后一个字符串male,然后实现区分男女后统计人数

加密函数

select md5('123456') -- md5 这个函数加密是不可逆反的过程

相关阅读

热门文章

    手机版|MSIPO技术圈 皖ICP备19022944号-2

    Copyright © 2024, msipo.com

    返回顶部