คุณสามารถประกาศตัวแปรได้โดยใช้ @anyVariablename ซึ่งเป็นตัวแปรเซสชัน ในการสร้างตัวแปรเซสชัน คุณต้องใช้คำสั่ง SET
ไวยากรณ์มีดังนี้
SET @anyVariableName:=anyValue;
คุณสามารถประกาศตัวแปรโลคัลโดยใช้คำสั่ง DECLARE ไวยากรณ์มีดังนี้
ประกาศประเภทข้อมูลVariableNameของคุณ
คุณสามารถตั้งค่าเริ่มต้นในขณะที่สร้างตัวแปรได้ ไวยากรณ์มีดังนี้
ประกาศค่าเริ่มต้นประเภทข้อมูล yourVariableName 'yourValue'
นี่คือตัวอย่างตัวแปรเซสชัน เพื่อให้เข้าใจ ให้เราสร้างตาราง
แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง SessionVariableDemo -> ( -> EmployeeId varchar(10), -> EmployeeName varchar(30), -> EmployeeAge int -> );Query OK, 0 แถวได้รับผลกระทบ (0.70 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า SessionVariableDemo ('EMP-101','Carol',30); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SessionVariableDemo ('EMP-102', 'John', 26); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SessionVariableDemo ('EMP-103', 'Bob', 25); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า SessionVariableDemo ( 'EMP-104','Sam',32);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า SessionVariableDemo ('EMP-105','Mike',35); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า SessionVariableDemo ('EMP-106','David',33); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก SessionVariableDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| EMP-101 | แครอล | 30 || EMP-102 | จอห์น | 26 || EMP-103 | บ๊อบ | 25 || EMP-104 | แซม | 32 || EMP-105 | ไมค์ | 35 || EMP-106 | เดวิด | 33 |+------------+--------------+-------------+6 แถวในชุด ( 0.00 วินาที)ตอนนี้สร้างตัวแปรเซสชันโดยใช้คำสั่ง SET หลังจากนั้น เราจะใช้ตัวแปรนี้ในแบบสอบถามเพื่อรับบันทึกพนักงานทั้งหมดที่มีอายุมากกว่า 30 ปี
ให้เราสร้างตัวแปรเซสชันโดยใช้คำสั่ง SET
mysql> set @AgeGreaterThan30:=30;Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)
นี่คือแบบสอบถามที่จะใช้ตัวแปรเซสชันเพื่อรับบันทึกพนักงานที่มีอายุมากกว่า 30
mysql> เลือก *จาก SessionVariableDemo โดยที่ EmployeeAge> @AgeGreaterThan30;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| EMP-104 | แซม | 32 || EMP-105 | ไมค์ | 35 || EMP-106 | เดวิด | 33 |+------------+--------------+-------------+3 แถวในชุด ( 0.00 วินาที)