1. 程式人生 > >mysql:使用者變數、系統變數、區域性變數(儲存過程中的)

mysql:使用者變數、系統變數、區域性變數(儲存過程中的)

MySQL資料庫中的變數分為MySQL系統變數和MySQL使用者變數。

一、MySQL使用者變數:基於會話變數實現的, 可以暫存值, 並傳遞給同一連線裡的下一條sql使用的變數.當客戶端連線退出時,變數會被釋放。

1、使用者變數定義:

使用者變數:以"@"開始,形式為"@變數名"
:使用者變數跟mysql客戶端是繫結的,設定的變數,只對當前使用者使用的客戶端生效。也叫回話變數。

2、賦值:(可以使用set或select)

set  @test=1;

或者

select  @test,@tt:=2;

檢視變數的值:

select  @tt;

:如果使用沒有初始化的變數,其值是NULL

       使用set賦值時,使用的是“=”,使用select賦值時使用的是“:="。

二、系統變數:

MySQL可以訪問許多系統變數。當伺服器執行時許多變數可以動態更改。這樣通常允許你修改伺服器操作而不需要停止並重啟伺服器。當伺服器啟動時,它將所有全域性變數初始化為預設值。這些預設值可以在選項檔案中或在命令列中指定的選項進行更改。伺服器啟動後,通過連線伺服器並執行SET GLOBAL var_name語句,可以動態更改這些全域性變數。要想更改全域性變數,必須具有SUPER許可權。

1、變數使用:

可以通過@@或global來作業系統變數,如下:

mysql> SET GLOBAL sort_buffer_size=value;
mysql> SET @@global.sort_buffer_size=value
;

三、區域性變數:

作用範圍在begin到end語句塊之間。在該語句塊裡設定的變數成為區域性變數。

1、定義:
declare語句專門用於定義區域性變數。

begin

 declare test int;

2、賦值:

set語句進行賦值

set i=500;

相關推薦

mysql使用者變數系統變數區域性變數(儲存過程的)

MySQL資料庫中的變數分為MySQL系統變數和MySQL使用者變數。 一、MySQL使用者變數:基於會話變數實現的, 可以暫存值, 並傳遞給同一連線裡的下一條sql使用的變數.當客戶端連線退出時,變

C# 定義了 7 種變數類別靜態變數例項變數陣列元素值引數引用引數輸出引數和區域性變數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

第三章(3) lambda表示式型別檢查型別推斷以及區域性變數

     1.型別檢查      當我們在之前第一次提到lambda表示式的時候,說它可以為函式式介面生成一個例項。然而,Lambda表示式本身並不包含它在實現哪個函式式介面的資訊。為了全面瞭解Lambda表示式,你

MySQL記錄的增刪改查單表查詢約束條件多表查詢連表子查詢pymysql模組MySQL內建功能

資料操作 插入資料(記錄): 用insert; 補充:插入查詢結果: insert into 表名(欄位1,欄位2,...欄位n) select (欄位1,欄位2,...欄位n) where ...; 更新資料update 語法: update 表名 set 欄位1=

MySQL在高併發下的訂單撮合系統使用共享鎖與排他鎖保證資料一致性

前序 距離上次擇文發表,兩月餘久。2018年也即將要結束了,目前的工作依然是與區塊鏈應用相關的,也很榮幸在9月初受邀簽約出版暫

黑盒測試白盒測試單元測試集成測試系統測試驗收測試的區別與聯系

角色 同時 驗收 center 調試 需求 lan 說明書 錯誤 黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別與聯系   接下來為大家細心講述一下各種測試應用的環境及作用。 一、測試環境和角色 黑盒測試、白盒測試、單元測試、集成測試、系統測試、

centos系統查看系統版本內核版本系統位數cpu個數核心數線程數

article 包括 smp details info 名稱 edt .com dom centos查看系統版本 cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 1)查看centos內核的

rsync用服務同步文件系統日誌screen工具

20180515一、rsync通過服務同步 1?要編輯配置文件:/etc/rsyncd.conf2、啟動rsync --daemon (檢測是否啟動:ps aux |grep rsync)3、格式:rsync -av test1/192.168.133.11.130::module/dir/ 例:從b機用rs

OpenCV學習筆記(三十七)——實用函式系統函式巨集core

如果你想在OpenCV的基礎上自己開發一些演算法,我覺得core這部分內容不得不精啊,能熟練使用OpenCV的資料結構是開發的基礎,又是重中之重。最近就又拌在這上頭了,所以再重溫一下。這次分析一下Utility and System Functions and Macros

多媒體程式設計網路程式設計系統程式設計網路安全程式設計驅動程式設計

;編譯命令 ; ml /coff x86.asm /link /subsystem:windows /entry:main user32.lib kernel32.lib ;標準彙編頭 .386 .model flat,stdcall option casemap:non

軟體測試方法——單元測試整合測試系統測試確認測試

從整體的角度可以分為單元測試、整合測試、系統測試、確認測試。 下面內容來自網路相關資料的整理: 1.單元測試 (1)定義:單元測試(又稱為模組測試)是針對程式模組(軟體設計的最小單位)來進行正確性檢驗的測試工作。程式單元是應用的最小可測試部件。在過程化程式設計中,一個單元就

MySQL儲存過程declare和set定義變數的區別

  在儲存過程中常看到declare定義的變數和@set定義的變數。簡單的來說,declare定義的類似是區域性變數,@set定義的類似全域性變數。  1、declare定義的變數類似java類中的區域性變數,僅在類中生效。即只在儲存過程中的begin和end之間生效。  2

軟體測試 -- 比較一下黑盒測試白盒測試單元測試整合測試系統測試驗收測試的區別與聯絡

黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。 白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。 軟體的黑盒測試意味著測試要在軟體的介面處進行。這種方法是把測試物件看做一個黑盒子,測試人員完全不考慮程式內部的邏

mysql儲存過程使用select count(*) into 變數名 from +表+ where條件的用法

select count(*) into v_count from dual where userid=2;此語句的意思就是根據where條件查詢dual表,得到的行數存入變數v_count中(給變數賦值) 只能在儲存過程中編寫這樣的語句?如果在mysql的sql語句中編寫

軟體測試的四個階段,單元測試整合測試系統測試驗收測試

軟體測試的物件包括軟體需求、概要設計、詳細設計、軟體執行環境、可執行程式和軟體原始碼等。軟體測試包括質量、人員、資源、技術和流程五大要素,以及測試覆蓋率和測試效率兩個目標。 軟體測試一般分為4個階段:單元測試、整合測試、系統測試、驗收測試。 一、單元測試  單元測試是

mysql儲存過程 declare 和 set 定義變數的區別

mysql儲存過程中,定義變數有兩種方式: 1.使用set或select直接賦值,變數名以 @ 開頭. 例如:set @var=1; 可以在一個會話的任何地方宣告,作用域是整個會話,稱為會話變數。 2.以 DECLARE 關鍵字宣告的變數,只能在儲存過程中使用,稱為儲存過

KERNEL_DIR系統平臺交叉編譯器的指定,以及核心模組驅動檔案的簽名

在為android編譯ko包並使用insmod載入過程中遇到兩個問題,記錄如下。【問題一:KERNEL_DIR、系統平臺、交叉編譯器的指定】android編譯ko包實際與linux編譯ko沒有區別,首先編寫.c .h檔案等,之後編寫makefile檔案,makefile中KE

MySQL儲存過程,定義變數有兩種方式

MySQL儲存過程中,定義變數有兩種方式: 1.使用set或select直接賦值,變數名以 @ 開頭. 例如:set @var=1; 可以在一個會話的任何地方宣告,作用域是整個會話,稱為會話變數。

單體測試整合測試迴歸測試系統測試驗收測試等的比較

單元測試,英文是Unit Testing。 單元測試是最微小規模的測試;以測試某個功能或程式碼塊。典型地由程式設計師而非測試員來做,因為它需要知道內部程式設計和編碼的細節知識。這個工作不容易做好,除非應用系統有一個設計很好的體系結構; 還可能需要開發測試驅動器模組或測試套具。 整合測試,英文是Integr