亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL分支和循環(huán)結(jié)構(gòu)方式

 更新時(shí)間:2024年10月25日 08:39:07   作者:Carver0808  
在MySQL中,IF函數(shù)用于根據(jù)條件返回不同的值,類似于Java的三目運(yùn)算符,CASE語(yǔ)句則提供了兩種形式:簡(jiǎn)單CASE函數(shù)和搜索CASE函數(shù),分別類似于Java中的switch-case結(jié)構(gòu)和多重if判斷,這些控制流函數(shù)在數(shù)據(jù)庫(kù)查詢和數(shù)據(jù)處理中非常有用,可以實(shí)現(xiàn)復(fù)雜的邏輯判斷

一、if函數(shù)

在mysql中if()函數(shù)的用法類似于java中的三目表達(dá)式,其用處也比較多,

具體語(yǔ)法如下:

IF(expr1,expr2,expr3),如果expr1的值為true,則返回expr2的值,如果expr1的值為false,則返回expr3的值。注意:if函數(shù)可以用在任何位置。

例如:

select * ,if(role_id=1,‘管理員’,‘普通用戶’) as role from user_p;當(dāng)role_id為1時(shí),返回管理員,role_id非1返回普通用戶。

二、case語(yǔ)句

1、情景一(case函數(shù))

類似于Java總的switch-case結(jié)構(gòu),代碼和運(yùn)行截圖如下:

語(yǔ)法:

  • case 表達(dá)式
  • when 值1 then 結(jié)果1或語(yǔ)句1(如果是語(yǔ)句,需要加分號(hào))
  • when 值2 then 結(jié)果2或語(yǔ)句2(如果是語(yǔ)句,需要加分號(hào))
  • else 結(jié)果n或語(yǔ)句n(如果是語(yǔ)句,需要加分號(hào))
  • end 【case】(如果是放在begin end中需要加上case,如果放在select后面不需要)
select *,
	case role_id 
		when 1 then "管理員" 
		when 2 then "普通用戶" 
		else "游客" end
	as role
from user_p;

2、情景二(case搜索函數(shù))

類似于多重if,可以用在任何位置。代碼和運(yùn)行截圖如下:

語(yǔ)法:

  • case
  • when 條件1 then 結(jié)果1或語(yǔ)句1(如果是語(yǔ)句,需要加分號(hào))
  • when 條件2 then 結(jié)果2或語(yǔ)句2(如果是語(yǔ)句,需要加分號(hào))
  • else 結(jié)果n或語(yǔ)句n(如果是語(yǔ)句,需要加分號(hào))
  • end 【case】(如果是放在begin end中需要加上case,如果放在select后面不需要)
select *,case
	when age <19 then "少年"
	when age <30 then "青年"
	when age >30 and age <50 then "中年"
	else "老年"
	end "狀態(tài)"
from info;

三、if elseif語(yǔ)句

注意:只能用在begin end中

  • 語(yǔ)法:
  • if 情況1 then 語(yǔ)句1;
  • elseif 情況2 then 語(yǔ)句2;
  • else 語(yǔ)句n;
  • end if;
#定義分號(hào)
DELIMITER $$
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
CREATE FUNCTION age_status(age int) RETURNS varchar(20)
BEGIN
  
    DECLARE status varchar(20)  DEFAULT "老年";
 
    IF age < 19  THEN SET status ="少年";
    ELSEIF age <30 THEN SET status ="青年";
    ELSEIF 30<age<50 THEN SET status ="中年";
    ELSE SET status ="老年";
    END IF;
    RETURN status;
END $$
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#重新定義分號(hào)
DELIMITER ;
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 select age_status(45);

四、循環(huán)

DELIMITER $$
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
CREATE FUNCTION insertUser(num INT) RETURNS varchar(15)
BEGIN 

    DECLARE i INT DEFAULT(1);
   
    while i<= num DO
        INSERT INTO info(name,sex,classname,age) 
		VALUES (CONCAT("name",i),CONCAT("sex",i),CONCAT("classname",i),i);
        SET i=i+1;
        END WHILE;
	RETURN "success";
END $$
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
DELIMITER ;
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
select insertUser(5);

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql實(shí)現(xiàn)合并同一ID對(duì)應(yīng)多條數(shù)據(jù)的方法

    mysql實(shí)現(xiàn)合并同一ID對(duì)應(yīng)多條數(shù)據(jù)的方法

    這篇文章主要介紹了mysql實(shí)現(xiàn)合并同一ID對(duì)應(yīng)多條數(shù)據(jù)的方法,涉及mysql GROUP_CONCAT函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 一文帶你了解MySQL之事務(wù)隔離級(jí)別和MVCC

    一文帶你了解MySQL之事務(wù)隔離級(jí)別和MVCC

    這篇文章主要帶大家詳細(xì)了解一下MySQL之事務(wù)隔離級(jí)別和MVCC,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的同學(xué)可以借鑒月u的
    2023-06-06
  • mysql如何按首字母進(jìn)行檢索數(shù)據(jù)

    mysql如何按首字母進(jìn)行檢索數(shù)據(jù)

    這篇文章介紹了如何根據(jù)學(xué)生的首字母檢索學(xué)生信息的需求,并提供了一種不增加表字段的實(shí)現(xiàn)方法,通過(guò)利用漢字的拼音排序特性,結(jié)合數(shù)據(jù)庫(kù)的排序和轉(zhuǎn)換函數(shù),實(shí)現(xiàn)了根據(jù)首字母模糊匹配檢索學(xué)生信息的功能
    2024-11-11
  • MySQL創(chuàng)建用戶的三種方法

    MySQL創(chuàng)建用戶的三種方法

    在對(duì)MySQL的日常管理和操作中,為了避免有人惡意使用root用戶控制數(shù)據(jù)庫(kù),盡可能地不用或少用 root 用戶登錄系統(tǒng),本文主要介紹了MySQL創(chuàng)建用戶的三種方法,感興趣的可以了解一下
    2023-08-08
  • MySql范圍查找時(shí)索引不生效問(wèn)題的原因分析

    MySql范圍查找時(shí)索引不生效問(wèn)題的原因分析

    這篇文章主要給大家介紹了關(guān)于MySql范圍查找時(shí)索引不生效問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL學(xué)習(xí)必備條件查詢數(shù)據(jù)

    MySQL學(xué)習(xí)必備條件查詢數(shù)據(jù)

    這篇文章主要介紹了MySQL學(xué)習(xí)必備條件查詢數(shù)據(jù),首先通過(guò)利用where語(yǔ)句可以對(duì)數(shù)據(jù)進(jìn)行篩選展開(kāi)主題相關(guān)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-03-03
  • ubuntu20安裝配置mysql8.0.23步驟詳解

    ubuntu20安裝配置mysql8.0.23步驟詳解

    這篇文章主要為大家介紹了ubuntu20安裝配置mysql8.0.23步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 詳解標(biāo)準(zhǔn)mysql(x64) Windows版安裝過(guò)程

    詳解標(biāo)準(zhǔn)mysql(x64) Windows版安裝過(guò)程

    這篇文章主要介紹了標(biāo)準(zhǔn)mysql(x64) Windows版安裝過(guò)程,需要的朋友可以參考下
    2017-08-08
  • 深入mysql外鍵關(guān)聯(lián)問(wèn)題的詳解

    深入mysql外鍵關(guān)聯(lián)問(wèn)題的詳解

    本篇文章是對(duì)mysql外鍵關(guān)聯(lián)問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL DISTINCT 的基本實(shí)現(xiàn)原理詳解

    MySQL DISTINCT 的基本實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了MySQL DISTINCT 的基本實(shí)現(xiàn)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論