MySQL中自定義引數的使用教程

2021-12-30 04:37:57 字數 1211 閱讀 1585

mysql變數包括系統變數和系統變數。這次的學習任務是使用者自定義變數。使用者變數主要包括區域性變數和會話變數。

使用者自定義變數的宣告方法形如:@var_name,其中變數名稱由字母、數字、「.」、「_」和「$」組成。當然,在以字串或者識別符號引用時也可以包含其他字元(例如:@』my-var』,@」my-var」,或者@my-var)。

使用者自定義變數是會話級別的變數。其變數的作用域僅限於宣告其的客戶端鏈結。當這個客戶端斷開時,其所有的會話變數將會被釋放。

使用者自定義變數是不區分大小寫的。

使用set語句來宣告使用者自定義變數:

set @my_var = 1;

set @my_var := 1;

不使用set時採用:=賦值,因為採用=可能被認為是比較操作符。

以下用乙個案例說明:

編寫乙個 sql查詢 來實現分數排名。如果兩個分數相同,則兩個分數排名(rank)應該相同。請注意,平局之後的下乙個排名數應該是下乙個連續的整數值。換句話說,行列之間不應該有「漏洞」。

| id | score |

| 1 | 3.50 |

| 2 | 3.65 |

| 3 | 4.00 |

| 4 | 3.85 |

| 5 | 4.00 |

| 6 | 3.65 |

例如,根據給定的上述 scores 表,您的查詢應該生成以下報告(按最高分排序):

| score | rank |

| 4.00 | 1 |

| 4.00 | 1 |

| 3.85 | 2 |

| 3.65 | 3 |

| 3.65 | 3 |

| 3.50 | 4 |

查詢語句:

select score, @rank := @rank + (@pre <> (@pre:=score)) rank

from scores ,(select @rank := 0,@pre:= -1) init

order by score desc

注:@rank表示成績排名

@pre表示上乙個人的分數

當與上乙個分數不一樣時@rank = @rank + 1,否則,@rank=rank。

將@rank初始化為1,@pre初始化為-1。

實驗結果為:

自定義引數 Python自定義函式引數

1.種類 1 位置引數 x就是位置引數 usr bin env python coding utf 8 def power x result x x print result 2 預設引數n就是預設引數 usr bin env python coding utf 8 def power x,n 1 ...

mysql 自定義函式使用

mysql語句模板 語句 create function 函式名 引數列表 returns 資料型別 begin sql語句 return 值 end select from test department 僅返回乙個數字 create function myselect returns int r...

mysql自定義函式優點 MySQL自定義函式

在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...