使用变量在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