mysqlストアドプロシージャ変数

WBOY
リリース: 2023-05-08 18:45:37
オリジナル
1345 人が閲覧しました

MySQL は、通信とクエリに SQL 言語を使用し、ストアド プロシージャと変数をサポートする、人気のあるオープン ソース リレーショナル データベース管理システムです。この記事では、MySQL ストアド プロシージャと変数の概念と、それらの作成方法と使用方法を紹介します。

MySQL ストアド プロシージャ

ストアド プロシージャは、MySQL に保存して再利用できる SQL ステートメントのコレクションです。特定のタスクを自動化できるため、データベースの処理効率が向上します。ストアド プロシージャは、繰り返しのタスクを完了し、コードを簡素化し、パフォーマンスを向上させ、複雑なタスクをより小さな再利用可能なコンポーネントに減らすためによく使用されます。ストアド プロシージャでは、複数の SQL ステートメントを 1 つのステップで処理できるように、複数の SQL ステートメントをパッケージ化することもできます。

ストアド プロシージャは通常、次の状況で使用されます。

  • 繰り返しタスク: 同じ一連の SQL ステートメントを繰り返し実行する必要がある場合、毎回入力する必要はありません。 。これらの SQL ステートメントをストアド プロシージャとしてパッケージ化し、どこからでも呼び出して実行できるようにします。
  • プログラムのモジュール化: ストアド プロシージャを使用すると、複雑な SQL ステートメントをモジュール式コンポーネントに分割できます。こうすることで、プログラムのロジックとその実行方法をよりよく確認できます。
  • データの保護: ストアド プロシージャは、より強力なセキュリティを備えながら、データへのアクセスと変更を実行できます。これにより、ユーザーは重要なデータに対して特定の操作を実行できなくなります。
  • ビジネス ルールの導入: ストアド プロシージャにはデータベース内のビジネス ルールを含めることができるため、システム内のビジネス ルールの分散が軽減されます。

ストアド プロシージャは変数と同様にデータベースに保存でき、MySQL コマンド ライン、PHP、Java、.NET などを含むすべての MySQL クライアントで使用できます。

MySQL ストアド プロシージャの作成

MySQL ストアド プロシージャを作成するには、特定の構文ルールに従う必要があります。以下はストアド プロシージャを作成するためのテンプレートです。

CREATE PROCEDURE procedure_name ( [IN | OUT | INOUT] parameter_name parameter_type [, [IN | OUT | INOUT] parameter_name parameter_type]... ) BEGIN -- 存储过程体 SQL语句; 执行的任务; END
ログイン後にコピー

このうち、CREATE PROCEDUREはストアド プロシージャの宣言、procedure_nameはストアド プロシージャの名前です。プロシージャ、parameter_nameはストアド プロシージャのパラメータ名です。parameter_typeはストアド プロシージャのパラメータ タイプで、整数、文字列、日付などを指定できます。BEGINENDは、ストアド プロシージャ本体の開始と終了をマークします。残りの SQL ステートメントと実行タスクはストアド プロシージャ本体内で実行されます。

以下は、従業員の名前と給与をクエリする単純な MySQL ストアド プロシージャを作成する例です。

CREATE PROCEDURE SHOW_EMPLOYEE(IN employee_id INT) BEGIN SELECT name, salary FROM employees WHERE id = employee_id; END
ログイン後にコピー

上記のサンプル コードでは、まず ## という名前のファイルを作成します。 #SHOW_EMPLOYEEのプロシージャで、渡されるパラメータはemployee_idという名前のIN型整数です。次に、ストアド プロシージャ本体は SQL クエリを実行して、employeesテーブル内の指定された ID を持つ従業員の名前と給与を検索します。

MySQL ストアド プロシージャの使用

ストアド プロシージャを作成したら、それを呼び出して使用できます。ストアド プロシージャは、

CALLステートメントを使用して呼び出すことも、MySQL クライアント ツールで使用することもできます。以下は、MySQL ストアド プロシージャSHOW_EMPLOYEEを呼び出す簡単な例です。

CALL SHOW_EMPLOYEE(3);
ログイン後にコピー

上記のコード例では、ストアド プロシージャ

SHOW_EMPLOYEEが呼び出され、パラメータ 3 が合格した。ストアド プロシージャは、ID 3 の従業員の名前と給与を返します。

MySQL 変数

MySQL 変数はデータを保存する方法の 1 つであり、ストアド プロシージャやクエリの実行中にデータを作成および保存できます。変数には、整数、文字列、日付などのさまざまなタイプのデータを格納できます。

MySQL 変数は次の構文を使用して宣言されます:

DECLARE variable_name variable_type [DEFAULT default_value]
ログイン後にコピー

このうち、

DECLAREは変数を宣言するためのキーワード、variable_nameは変数ですname、variable_typeは変数のタイプ、default_valueはオプションであり、変数のデフォルト値です。変数はストアド プロシージャまたはクエリで使用でき、他の変数からも参照できます。

以下は、2 つの整数の加算を計算するために使用される MySQL 変数の例です。

DECLARE a INT DEFAULT 5; DECLARE b INT DEFAULT 3; DECLARE c INT; SET c = a + b; SELECT c;
ログイン後にコピー
上記のコード例では、3 つの変数

a,bcが宣言されており、aのデフォルト値は 5、bのデフォルト値は 3、cには何もありませんデフォルト値。次に、コード内のcabの合計に代入し、最後にcを出力します。

結論

MySQL ストアド プロシージャと変数は、開発者がタスクをより効率的に完了するのに役立つと同時に、データベース処理のパフォーマンスも向上します。ストアド プロシージャと変数を使用することで、開発者はデータベース操作をよりモジュール化し、より強力なビジネス ルールとセキュリティを実装できます。実際の開発作業では、コードの可読性と保守性を確保するために、開発者は MySQL ストアド プロシージャと変数のベスト プラクティスに常に注意を払う必要があります。

以上がmysqlストアドプロシージャ変数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!