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

MySQLのSELECT INTOでユーザー定義変数に値を格納する方法

MySQLでは、SELECT ... INTO構文を使うことで、クエリの実行結果をユーザー定義変数(@変数名)に直接格納できます。本記事では、実際のコード例を通じて、その基本的な使い方を手順ごとにわかりやすく解説します。

1. サンプルテーブルを作成する

まず、以下のCREATE TABLE文でテーブルを作成します。

mysql> create table DemoTable1483
    -> (
    -> Salary int
    -> );
Query OK, 0 rows affected (0.41 sec)

2. レコードを挿入する

次に、INSERTコマンドを使ってテーブルにデータを追加します。

mysql> insert into DemoTable1483 values(100);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1483 values(500);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1483 values(400);
Query OK, 1 row affected (0.12 sec)

3. テーブルの内容を確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> select * from DemoTable1483;

実行すると、次のような出力が得られます。

+--------+
| Salary |
+--------+
|    100 |
|    500 |
|    400 |
+--------+
3 rows in set (0.00 sec)

4. SELECT INTOでユーザー定義変数に値を格納する

以下のクエリは、SUM関数で求めた給与の合計値を、ユーザー定義変数「@TotalSalary」に格納する例です。

mysql> select sum(Salary) into @TotalSalary from DemoTable1483;
Query OK, 1 row affected (0.00 sec)

5. 変数の値を表示する

格納された変数の値は、通常のSELECT文で簡単に確認できます。

mysql> select @TotalSalary;

実行結果は以下の通りです。

+--------------+
| @TotalSalary |
+--------------+
|         1000 |
+--------------+
1 row in set (0.00 sec)

まとめ

SELECT ... INTO @変数名を使えば、集計結果などのクエリ結果を変数に保存し、後続の処理やストアドプロシージャ内で再利用できます。なお、ユーザー定義変数はセッション単位で有効となるため、同じ接続内でのみ参照できる点に注意してください。

  1. MySQLのSELECT文をカスタム変数に設定する方法

    この記事では、MySQLでSELECT文(クエリ)の結果をカスタム変数(ユーザー定義変数)に設定する方法を解説します。まずサンプル用のテーブルを作成してデータを挿入し、その後SET句と「@」から始まる変数を使ってクエリを変数に格納する手順を、実際の実行例とともに見ていきましょう。 1. テーブルを作成する 最初に、以下のコマンドでテーブルを作成します。 mysql> create table DemoTable2013     -> (     -> Name varchar(20)  

  2. MySQLストアドプロシージャでカラムの値を変数に格納する方法

    MySQLのストアドプロシージャ内で変数を宣言するには、DECLARE文を使用します。さらにSELECT ~ INTO構文を組み合わせることで、テーブルのカラム値を変数に格納することができます。ここでは、実際にサンプルテーブルを作成し、ストアドプロシージャ経由でカラムの値を変数に取得する手順を解説します。1. サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable2034-> (-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> StudentN