MySQL ストアド プロシージャ データ
MySQL は、ストアド プロシージャの作成と使用をサポートする一般的なリレーショナル データベース管理システムです。ストアド プロシージャは、データベース サーバー上に格納して実行できる SQL コードであり、通常の SQL 文に比べて再利用性と保守性に優れています。実際の開発プロセスでは、ストアド プロシージャは、プログラム開発者が複雑なデータ操作ロジックを実装し、アプリケーションのパフォーマンスと信頼性を向上させるのに役立ちます。
MySQL では、ストアド プロシージャはデータベース内にカプセル化された独立したコード ブロックであり、名前で呼び出すことができ、入力パラメータ、出力パラメータ、戻り値などの属性を持ちます。ストアド プロシージャを作成して使用するには、MySQL ストアド プロシージャの構文といくつかの一般的なストアド プロシージャのケースをマスターする必要があります。
MySQL ストアド プロシージャの構文
MySQL では、ストアド プロシージャの構文は一般的な SQL ステートメントの構文と非常に似ており、特定のキーワードとステートメント ブロックのみを使用する必要があります。以下は、単純なストアド プロシージャ コードです。
DELIMITER $$ CREATE PROCEDURE HelloWorld() BEGIN SELECT 'Hello World'; END$$ DELIMITER ;
上記のコードでは、DELIMITER
キーワードを使用して、セミコロン (;) とは異なる終了グリフ ($$) を設定します。 。次に、CREATE PROCEDURE
ステートメントを使用して、HelloWorld という名前のストアド プロシージャを作成します。BEGIN
と END
は、コード ブロック SELECT## の始まりと終わりを示します。 # ステートメントはデータを出力するために使用され、最後に
DELIMITER ; を使用して終了グリフをセミコロンに戻します。このようにして、MySQL データベースに HelloWorld ストアド プロシージャを作成できます。 Hello World ストアド プロシージャを呼び出す方法は非常に簡単で、次の SQL ステートメントを実行するだけです:
CALL HelloWorld();
DELIMITER $$ CREATE PROCEDURE AddUsers(IN user_count INT) BEGIN DECLARE i INT DEFAULT 1; WHILE (i <= user_count) DO INSERT INTO users (username, password, email, created_at) VALUES (CONCAT('user_', i), 'password', CONCAT('user_', i, '@example.com'), NOW()); SET i = i + 1; END WHILE; END$$ DELIMITER ;
AddUsers ストアド プロシージャを宣言します。これには
user_count という名前のメソッドがあります。 追加するユーザーの数を指定する入力パラメーター。次に、
DECLARE ステートメントを使用して、ユーザーを反復的に追加するための変数
i を定義します。
WHILE ループ ステートメント ブロックでは、
INSERT INTO ステートメントを使用してユーザーをバッチで追加します。各ループでは、
CONCAT 関数を使用してユーザー名と電子メールを生成し、
NOW 関数を使用して作成時刻を生成し、このデータを
users に挿入します。テーブル。最後に、
SET ステートメントを使用して変数
i の値を更新します。
user_count の値に達するまで、i は毎回 1 ずつ増加します。
CALL AddUsers(10);
user_1@exampe.com を持つ 10 人の新しいユーザーが users
テーブルに追加されます。 、user_2@example.com、...、user_10@example.com。
以上がmysqlストアドプロシージャデータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。