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

通常のクエリのためにMySQLで変数を宣言する方法は?


セッション変数である@anyVariablenameを使用して変数を宣言できます。セッション変数を作成するには、SETコマンドを使用する必要があります。

構文は次のとおりです

SET @anyVariableName:=anyValue;

DECLAREコマンドを使用してローカル変数を宣言できます。構文は次のとおりです

DECLARE yourVariableName datatype

変数作成時にデフォルト値を設定できます。構文は次のとおりです

DECLARE yourVariableName datatype default ‘yourValue’

これがセッション変数のデモです。それを理解するために、テーブルを作成しましょう。

テーブルを作成するためのクエリは次のとおりです

mysql> create table SessionVariableDemo
   -> (
   -> EmployeeId varchar(10),
   -> EmployeeName varchar(30),
   -> EmployeeAge int
   -> );
Query OK, 0 rows affected (0.70 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです

mysql> insert into SessionVariableDemo values('EMP-101','Carol',30);
Query OK, 1 row affected (0.20 sec)

mysql> insert into SessionVariableDemo values('EMP-102','John',26);
Query OK, 1 row affected (0.20 sec)

mysql> insert into SessionVariableDemo values('EMP-103','Bob',25);
Query OK, 1 row affected (0.19 sec)

mysql> insert into SessionVariableDemo values('EMP-104','Sam',32);
Query OK, 1 row affected (0.14 sec)

mysql> insert into SessionVariableDemo values('EMP-105','Mike',35);
Query OK, 1 row affected (0.11 sec)

mysql> insert into SessionVariableDemo values('EMP-106','David',33);
Query OK, 1 row affected (0.15 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです

mysql> select *from SessionVariableDemo;

以下は出力です

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| EMP-101    | Carol        |          30 |
| EMP-102    | John         |          26 |
| EMP-103    | Bob          |          25 |
| EMP-104    | Sam          |          32 |
| EMP-105    | Mike         |          35 |
| EMP-106    | David        |          33 |
+------------+--------------+-------------+
6 rows in set (0.00 sec)

次に、SETコマンドを使用してセッション変数を作成します。その後、クエリでこの変数を使用して、30歳を超えるすべての従業員レコードを取得します。

SETコマンドを使用してセッション変数を作成しましょう

mysql> set @AgeGreaterThan30:=30;
Query OK, 0 rows affected (0.00 sec)

これは、セッション変数を使用して30歳を超える年齢の従業員レコードを取得するクエリです

mysql> select *from SessionVariableDemo where EmployeeAge > @AgeGreaterThan30;

以下は出力です

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| EMP-104    | Sam          |          32 |
| EMP-105    | Mike         |          35 |
| EMP-106    | David        |          33 |
+------------+--------------+-------------+
3 rows in set (0.00 sec)

  1. MySQLLIKEをMySQLINとして実装するためのクエリ?

    MySQL IN()のようなクエリを実装するには、LIKE演算子とともにCOUNT()、IF()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Subject varchar(80)    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable valu

  2. MySQLクエリの結果を変数に割り当てる方法は?

    @anyVariableNameを使用して、クエリの結果を変数に割り当てます。まずテーブルを作成しましょう- mysql> create table DemoTable1864      (      Id int,      FirstName varchar(20),      LastName varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、