欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、if函數(shù)

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

具體語法如下:

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時,返回管理員,role_id非1返回普通用戶。

二、case語句

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

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

語法:

  • case 表達(dá)式
  • when 值1 then 結(jié)果1或語句1(如果是語句,需要加分號)
  • when 值2 then 結(jié)果2或語句2(如果是語句,需要加分號)
  • else 結(jié)果n或語句n(如果是語句,需要加分號)
  • 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,可以用在任何位置。代碼和運行截圖如下:

語法:

  • case
  • when 條件1 then 結(jié)果1或語句1(如果是語句,需要加分號)
  • when 條件2 then 結(jié)果2或語句2(如果是語句,需要加分號)
  • else 結(jié)果n或語句n(如果是語句,需要加分號)
  • 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語句

注意:只能用在begin end中

  • 語法:
  • if 情況1 then 語句1;
  • elseif 情況2 then 語句2;
  • else 語句n;
  • end if;
#定義分號
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 $$
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#重新定義分號
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é)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    MySql范圍查找時索引不生效問題的原因分析

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

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

    這篇文章主要介紹了MySQL學(xué)習(xí)必備條件查詢數(shù)據(jù),首先通過利用where語句可以對數(shù)據(jù)進(jìn)行篩選展開主題相關(guān)內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助
    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版安裝過程

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

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

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

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

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

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

最新評論