mysql會話變數

2021-07-25 19:02:46 字數 1707 閱讀 6456

什麼是「會話」?

比如我這裡用msyql客戶端工具建立了2個查詢分析器,就是2個會話。

會話變數

set

@num=1; #設定乙個變數等於1

select

@num; #查詢該變數

這時候如果我們:

select @num;
還是返回上面的結果,因為這個變數已經存在當前會話中了(只要不結束當前會話就一直存在)。

如果在另外乙個會話去查詢,就不存在了。

因為這個特性,所以我們可以在每次執行之前初始化。

select查詢的資料如何放到變數中?

#初始化2個變數

set @gid=0;

set @user_name='';

#把查詢的資料裝入2個變數

select id,user_name into @gid,@user_name from user_sys where user_name='user18';

#查詢這2個變數

演練我們來模擬乙個使用者登入的業務,用儲存過過程。

定義儲存過程:

begin

set @gid=0;

set @user_name='';

set @_result='login success';

select id,user_name into @gid,@user_name from user_sys where user_name=_username and user_pwd=_userpwd;

if @gid=0 then #登入不成功

然後我們新建查詢分析器,呼叫儲存過程

call sp_user_login('user5',123456)

#sp_user_login是上面我們定義的儲存過程儲存的名詞

MySQL資料庫中區分全域性變數和會話變數。

當我們修改資料庫配置時,我們要知道,通過不通過的方式,修改資料庫配置,生命週期是不同的。有時候僅僅在一次會話中有效,有時候全域性生效,就算斷開連線,重啟服務,依然生效。定義 寫在配置檔案中的就是全域性變數,也可以稱之為系統變數。使用 方法一 修改mysql配置檔案。方法二 set global.變數...

關於MySQL的全域性變數與會話變數的一些思考

系統變數又分為全域性變數與會話變數。全域性變數在mysql啟動的時候由伺服器自動將它們初始化為預設值,這些預設值可以通過更改my.ini這個檔案來更改。會話變數在每次建立乙個新的連線的時候,由mysql來初始化。mysql會將當前所有全域性變數的值複製乙份。來做為會話變數。也就是說,如果在建立會話以...

mysql會話命令 mysql命令大全

使用者相關 建立使用者 create user kingfan identified by 123 刪除使用者 drop user 使用者名稱 ip位址 修改使用者 rename user 使用者名稱 ip位址 to 新使用者名稱 ip位址 修改密碼 set password for 使用者名稱 i...