MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでテーブルから値を削除するストアドプロシージャを作成する方法

MySQLでは、INパラメータを受け取るストアドプロシージャを作成することで、テーブルから特定の値(レコード)を簡単に削除できます。ここでは、次のようなデータを持つ「student_info」テーブルを例に、その手順を解説します。

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 100  | Aarav   | Delhi      | Computers  |
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

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

まず、「Delete_studentinfo」という名前のストアドプロシージャを作成します。このプロシージャはINT型のINパラメータ「p_id」を受け取り、そのIDに一致するレコードをDELETE文で削除する仕組みです。

mysql> DELIMITER // ;
mysql> Create Procedure Delete_studentinfo ( IN p_id INT)
    -> BEGIN
    -> DELETE FROM student_info
    -> WHERE ID=p_id;
    -> END //
Query OK, 0 rows affected (0.11 sec)

mysql> DELIMITER ; //

なお、ストアドプロシージャ内では複数のSQL文を記述するため、文の区切り文字を一時的に「//」へ変更しています(DELIMITERの変更)。作成が完了したら、元の区切り文字「;」に戻すのを忘れないようにしましょう。

ストアドプロシージャの呼び出し

次に、CALL文を使ってプロシージャを呼び出し、削除したいレコードのIDを引数として渡します。

mysql> CALL Delete_studentinfo(100);
Query OK, 1 row affected (1.09 sec)

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
| 125  | Raman   | Bangalore  | Computers  |
+------+---------+------------+------------+
4 rows in set (0.01 sec)

上記の結果セットを見ると、id = 100 のレコードがテーブルから正常に削除されていることが確認できます。このように、INパラメータ付きのストアドプロシージャを用意しておけば、IDを指定するだけで繰り返し同じ削除処理を実行できるため、アプリケーション側のコードもシンプルになります。

  1. MySQLストアドプロシージャでテーブルを作成する方法

    MySQLでは、ストアドプロシージャの中にCREATE TABLE文を組み込むことで、テーブル作成処理を自動化できます。本記事では、Id・UserFirstName・UserLastNameの3つのカラムを持つテーブル「DemoTable」を作成するストアドプロシージャの作成から実行までの手順を解説します。 1. ストアドプロシージャの作成 まずDELIMITERコマンドで区切り文字を「//」に変更します。これは、プロシージャ内のセミコロン(;)が通常のSQL文の終端として誤認識されるのを防ぐためです。続いて、BEGIN〜ENDブロック内にCREATE TABLE文を記述します。 mys

  2. MySQLのビューからテーブルを作成する方法を徹底解説!基本構文と実行手順

    ビューからテーブルを作成する基本構文 MySQLでは、ビュー(VIEW)をもとに新しいテーブルを簡単に作成できます。基本となる構文は以下の通りです。 create table yourTableName select * from yourViewName; このように「CREATE TABLE ... SELECT」構文を使うことで、ビューの構造とデータをそのまま新しいテーブルへ复制できます。以下、具体的な手順を見ていきましょう。 ステップ1:サンプルテーブルを作成する まず、元となるテーブルを作成します。 mysql> create table DemoTable830(Name