MySQL CREATE USER変数を使用しますか?
これには動的クエリを使用できます。まず、ユーザー名に変数名、パスワードに変数名を設定します。構文は次のとおりです-
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 −最初に2つの変数を作成します。1つはユーザー名用、もう1つはパスワード用です。
ユーザー名を作成するためのクエリは次のとおりです-
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 −ユーザー「JohnDoe」が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)
はい、JohnDoeのユーザー名があります。
ステップ6 −ここで、準備されたステートメントの割り当てを解除します。クエリは次のとおりです-
mysql> DEALLOCATE PREPARE st; Query OK, 0 rows affected (0.00 sec)
-
数値のユーザー定義変数を使用したMySQLORDERBY?
まずテーブルを作成しましょう- mysql> create table DemoTable1898 ( Number int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1898 values(10); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1898
-
ユーザーを作成して権限を付与するMySQLクエリ
ユーザーを作成して権限を付与するための構文は次のとおりです- create database yourDatabaseName DEFAULT CHARACTER SET utf8; create user `yourUserName` identified by yourPassword; GRANT SELECT ON yourDatabaseName .* TO `yourUserName`; GRANT INSERT ON yourDatabaseName .* TO `yourUserName`; GRANT UPDATE ON yourDatabaseName .* TO `you