赞
踩
条件函数
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 这个函数加密是不可逆反的过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。