使用變數在MySQL中建立使用者?
您可以為此使用動態查詢。首先設定使用者名稱變數名和密碼變數名。語法如下:
SET @anyVariableName=’yourUserName’; SET @anyVariableName1=’yourpassword’;
現在您可以使用MySQL中的CONCAT()函式。語法如下:
SET @yourQueryName = CONCAT
('
CREATE USER "',@anyVariableName,'"@"localhost" IDENTIFIED BY "',@anyVariableName1,'" '
);讓我們使用準備好的語句PREPARE。語法如下:
PREPARE yourStatementVariableName FROM @yourQueryName;
現在您可以執行語句了。語法如下:
EXECUTE yourStatementVariableName;
使用DEALLOCATE PREPARE取消分配上述內容。語法如下:
DEALLOCATE PREPARE yourStatementVariableName;
為了理解上述語法,讓我們按照所有步驟操作:
步驟1 - 首先使用SET命令建立兩個變數,一個用於使用者名稱,另一個用於密碼。
建立使用者名稱的查詢如下:
mysql> set @UserName:='John Doe'; Query OK, 0 rows affected (0.00 sec)
建立密碼的查詢。
mysql> set @Password:='John Doe 123456'; Query OK, 0 rows affected (0.00 sec)
步驟2 - 現在使用CONCAT()函式建立使用者。查詢如下:
mysql> SET @CreationOfUser = CONCAT('
'> CREATE USER "',@UserName,'"@"localhost" IDENTIFIED BY "',@Password,'" '
-> );
Query OK, 0 rows affected (0.02 sec)在上面的查詢中,我們使用了@UserName變數名和@Password變數名來建立具有名稱和密碼的使用者。
步驟3 - 現在您需要使用上面定義的使用者變數@CreationOfUser準備語句。查詢如下:
mysql> PREPARE st FROM @CreationOfUser; Query OK, 0 rows affected (0.00 sec) Statement prepared
步驟4 - 執行上面準備好的語句。查詢如下:
mysql> EXECUTE st; Query OK, 0 rows affected (0.37 sec)
步驟5 - 檢查使用者“John Doe”是否已在MySQL.user表中建立:
mysql> select user,host from MySQL.user;
以下是輸出:
+------------------+-----------+ | user | host | +------------------+-----------+ | Manish | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | @UserName@ | localhost | | Adam Smith | localhost | | John | localhost | | John Doe | localhost | | User1 | localhost | | am | localhost | | hbstudent | localhost | +------------------+-----------+ 13 rows in set (0.00 sec)
是的,我們有一個名為John Doe的使用者。
步驟6 - 現在,取消分配準備好的語句。查詢如下:
mysql> DEALLOCATE PREPARE st; Query OK, 0 rows affected (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP