কম্পিউটার টিউটোরিয়াল

MySQL-এ SELECT ... INTO @variable ব্যবহার করে নির্দিষ্ট রো থেকে একক মান বের করা


টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable1896 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentMarks int ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1896(StudentName,StudentMarks) values('Chris',56); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1896(StudentName,StudentMarks) values('David',98); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1896(StudentName,StudentMarks) values('Mike',89); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1896(StudentName,StudentMarks) values('Sam',78); Query OK, 1 row affected (0.00 sec)

সব রেকর্ড

mysql> select * from DemoTable1896;
+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
|         1 | Chris       |           56 |
|         2 | David       |           98 |
|         3 | Mike        |           89 |
|         4 | Sam         |           78 |
+-----------+-------------+--------------+
4 rows in set (0.00 sec)

StudentMarks=98 হলে StudentName ভেরিয়েবলে নেওয়া

mysql> set @Name:=NULL; Query OK, 0 rows affected (0.00 sec)
mysql> select StudentName into @Name from DemoTable1896 where StudentMarks=98; Query OK, 1 row affected (0.00 sec)

ভেরিয়েবল মান দেখানো

mysql> select @Name;
+-------+
| @Name |
+-------+
| David |
+-------+
1 row in set (0.00 sec)

দ্রষ্টব্য: SELECT ... INTO @var শুধু ১ সারি ফেরত দেয়ার জন্য ডিজাইন করা। একাধিক সারি ফেরত দিলে এরর দেবে। স্টোরড প্রোসিজার, ট্রিগার বা অ্যাপ্লিকেশন কোডে ভেরিয়েবল পাস করার জন্য এটি খুব কাজে লাগে।

  1. MySQL-এ ORDER BY ... LIMIT দিয়ে টপ ৩ হাইএস্ট স্কোর বের করা

  2. MySQL에서 타임스탬프 값으로부터 날짜만 추출하기

  3. MySQL-এ নির্দিষ্ট শর্ত অনুযায়ী সিঙ্গেল রো বের করা

  4. MySQL-এ DISTINCT ব্যবহার করে ডুপ্লিকেট রো থেকে শুধু একটি রো দেখানো