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

จะประกาศตัวแปรใน MySQL สำหรับการสืบค้นปกติได้อย่างไร


คุณสามารถประกาศตัวแปรได้โดยใช้ @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 วินาที)