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