Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การใช้ตัวแปรผู้ใช้ (User-defined Variables) ด้วย @ ใน MySQL

ใน MySQL สามารถประกาศและใช้ตัวแปรผู้ใช้ (User-defined Variables) ได้โดยใช้เครื่องหมาย @ นำหน้าชื่อตัวแปร ตัวแปรเหล่านี้มีขอบเขต (Scope) ระดับ Session และสามารถใช้ในคำสั่ง SQL ต่างๆ ได้

รูปแบบคำสั่ง

SET @variableName := value;

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มข้อมูล:

mysql> create table DemoTable1331 (Id int, Name varchar(20));
mysql> insert into DemoTable1331 values(10,'Chris'),(101,'David'),(40,'Bob'),(30,'Mike'),(60,'John');

ข้อมูลในตาราง:

+------+-------+
| Id   | Name  |
+------+-------+
| 10   | Chris |
| 101  | David |
| 40   | Bob   |
| 30   | Mike  |
| 60   | John  |
+------+-------+

ใช้ตัวแปร @Value ในเงื่อนไข WHERE

mysql> set @Value:=40;
mysql> select * from DemoTable1331 where Id > @Value;

ผลลัพธ์ (เฉพาะ Id > 40)

+------+-------+
| Id   | Name  |
+------+-------+
| 101  | David |
| 60   | John  |
+------+-------+

คำอธิบายเพิ่มเติม:

  • ใช้ := สำหรับการกำหนดค่าใน SET (เพื่อไม่ให้สับสนกับการเปรียบเทียบ = ใน SELECT)
  • ตัวแปร @ ใช้ได้ในทุกคำสั่งภายใน Session เดียวกัน
  • สามารถใช้ในคำนวณ เช่น SET @total := @price * @qty;
  • ชื่อตัวแปรไม่ควรซ้ำกับชื่อคอลัมน์/คำสงวน