ホームページ > データベース > mysql チュートリアル > MySQL でプリペアドステートメントを使用するにはどうすればよいですか?

MySQL でプリペアドステートメントを使用するにはどうすればよいですか?

WBOY
リリース: 2023-09-11 08:09:09
転載
841 人が閲覧しました

我们如何在 MySQL 中使用准备好的语句?

#MySQL サーバーはプリペアド ステートメントをサポートしています。これは、細部が異なるだけの多くのクエリを実行する場合に非常に役立ちます。ステートメントを準備して、毎回異なるデータ値を使用して複数回実行できます。基本的に、MySQL のプリペアド ステートメントはクライアント/サーバー バイナリ プロトコルを利用します。準備されたステートメントは、サーバーが完全なステートメントのみを解析するため、パフォーマンスが向上します。

MySQL でプリペアド ステートメントを使用する手順は次のとおりです -

プリペアド ステートメント

これは、PREPARE ステートメントを使用してステートメントを準備する最初のステップです。 。たとえば、次は「Tender」テーブルのデータを使用して作成されたレポートです。

Example

PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’
ログイン後にコピー

PREPARED ステートメントの実行

これは、 2 番目のステップでは、「PREPARE」ステートメントを使用してステートメントを準備します。たとえば、次の構文を使用してプリペアド ステートメントを実行します。 stmt -

Example

EXECUTE stmt USING @variable_name;
ログイン後にコピー

ここで、 @variable_name には ? に渡したい値が入ります。 PREPARE ステートメント内で。準備されたステートメントを実行する前に、SET ステートメントを使用して @variable_name の値を設定する必要があります。

DEALLOCATE PREPARED ステートメント

これは、DEALLOCATE ステートメントを使用して準備されたステートメントを解放する最後のステップです。たとえば、次の構文を使用してプリペアド ステートメント stmt をリリースします。 -

Example

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 サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート