什麼是「會話」?
比如我這裡用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...