#MySQL サーバーはプリペアド ステートメントをサポートしています。これは、細部が異なるだけの多くのクエリを実行する場合に非常に役立ちます。ステートメントを準備して、毎回異なるデータ値を使用して複数回実行できます。基本的に、MySQL のプリペアド ステートメントはクライアント/サーバー バイナリ プロトコルを利用します。準備されたステートメントは、サーバーが完全なステートメントのみを解析するため、パフォーマンスが向上します。
MySQL でプリペアド ステートメントを使用する手順は次のとおりです -
これは、PREPARE ステートメントを使用してステートメントを準備する最初のステップです。 。たとえば、次は「Tender」テーブルのデータを使用して作成されたレポートです。
PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’
これは、 2 番目のステップでは、「PREPARE」ステートメントを使用してステートメントを準備します。たとえば、次の構文を使用してプリペアド ステートメントを実行します。 stmt -
EXECUTE stmt USING @variable_name;
ここで、 @variable_name には ? に渡したい値が入ります。 PREPARE ステートメント内で。準備されたステートメントを実行する前に、SET ステートメントを使用して @variable_name の値を設定する必要があります。
これは、DEALLOCATE ステートメントを使用して準備されたステートメントを解放する最後のステップです。たとえば、次の構文を使用してプリペアド ステートメント stmt をリリースします。 -
DEALLOCATE PREPARE stmt;
以下は、プリペアド ステートメント -
mysql> PREPARE stmt FROM 'SELECT tender_value from Tender WHERE Companyname = ?'; Query OK, 0 rows affected (0.09 sec) Statement prepared mysql> SET @A = 'Singla Group.'; Query OK, 0 rows affected (0.00 sec) mysql> EXECUTE stmt using @A; +--------------+ | tender_value | +--------------+ | 220.255997 | +--------------+ 1 row in set (0.07 sec) mysql> DEALLOCATE PREPARE stmt; Query OK, 0 rows affected (0.00 sec)を実行するクエリです。
以上がMySQL でプリペアドステートメントを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。