1. 程式人生 > 其它 >Sequelize排序問題: 關聯其他表資料的排序實現

Sequelize排序問題: 關聯其他表資料的排序實現

變數是一個擁有名字的物件,可以用於儲存和共享資料。根據變數的建立方式和作用域可以將其分為以下幾種型別:

  • 系統變數(System Variable),由 MySQL 系統定義和維護的變數。系統變數可能包含全域性值(全域性變數)和會話值(會話變數),全域性變數在伺服器啟動時通過命令列引數或者選項檔案進行設定,在服務關閉時銷燬;當客戶端連線到伺服器時,MySQL 會將大部分的全域性變數複製一份作為客戶端的會話變數,會話變數在連線斷開時銷燬。
  • 使用者變數(User-Defined Variable),由使用者自定義的變數,在連線會話期間有效,可以用於在不同 SQL 語句之間傳遞資料。
  • 區域性變數
    (Local Variable),在儲存過程或者函式中定義的變數,通常用於儲存中間結果。區域性變數的作用域為儲存過程/函式內或者某個語句塊之內。

本文主要介紹系統變數和使用者變數的設定和使用,區域性變數將會在後續關於儲存過程的文章中進行討論。

系統變數

系統變數由 MySQL 進行維護,用於配置伺服器的操作和行為。絕大多數系統變數(編譯時設定的只讀變數除外)可以在伺服器啟動時通過命令列引數或者選項檔案進行設定,大部分的系統變數也可以使用 SET 命令進行動態修改。

檢視系統變數

SHOW VARIABLES語句可以用於檢視系統變數,具體的語法如下:

SHOW [GLOBAL | SESSION] VARIABLES
    [LIKE 'pattern' | WHERE expr]

其中,GLOBAL 表示檢視全域性變數,SESSION 表示查詢會話變數(預設選項,也可以使用 LOCAL 替代),LIKE 用於查詢特定名字的變數,WHERE 用於查詢滿足指定條件的變數。

例如,以下語句返回了當前會話中的所有會話變數:

show variables;

Variable_name                                 |Value                         |
----------------------------------------------|------------------------------|
activate_all_roles_on_login                   |OFF                           |
admin_address                                 |                              |
admin_port                                    |33062                         |
admin_ssl_ca                                  |                              |
admin_ssl_capath                              |                              |
admin_ssl_cert                                |                              |
admin_ssl_cipher                              |                              |

以下語句使用 LIKE 運算子返回了所有名字以 version 開頭的全域性變數:

show global variables like 'version%';

Variable_name          |Value                       |
-----------------------|----------------------------|
version                |8.0.21                      |
version_comment        |MySQL Community Server - GPL|
version_compile_machine|x86_64                      |
version_compile_os     |Linux                       |
version_compile_zlib   |1.2.11                      |