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

เราจะใช้คำสั่งที่เตรียมไว้ใน MySQL ได้อย่างไร


เซิร์ฟเวอร์ MySQL รองรับคำสั่งที่เตรียมไว้ ซึ่งมีประโยชน์เมื่อเราต้องการเรียกใช้การสืบค้นจำนวนมากที่แตกต่างกันในรายละเอียดเพียงเล็กน้อยเท่านั้น เราสามารถเตรียมคำสั่งและดำเนินการได้หลายครั้งและแต่ละครั้งมีค่าข้อมูลที่แตกต่างกัน โดยทั่วไป คำสั่งที่เตรียมไว้ใน MySQL จะใช้ประโยชน์จากโปรโตคอลไบนารีของไคลเอ็นต์/เซิร์ฟเวอร์ คำสั่งที่เตรียมไว้ให้ประสิทธิภาพที่เพิ่มขึ้นเนื่องจากเซิร์ฟเวอร์แยกวิเคราะห์คำสั่งที่สมบูรณ์เพียงรายการเดียว

ต่อไปนี้เป็นขั้นตอนในการใช้คำสั่งที่เตรียมไว้ใน MySQL -

เตรียมคำสั่ง

เป็นขั้นตอนแรกในการเตรียมคำสั่งโดยใช้คำสั่ง PREPARE ตัวอย่างเช่น ต่อไปนี้เป็นคำสั่งที่จัดทำโดยใช้ข้อมูลจากตาราง 'ประกวดราคา' -

ตัวอย่าง

PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’

ดำเนินการคำสั่งที่เตรียมไว้

เป็นขั้นตอนที่สองที่เราจะดำเนินการคำสั่งที่จัดเตรียมโดยใช้คำสั่ง 'PREPARE' ตัวอย่างเช่น เราจะดำเนินการคำสั่ง stmt ที่เตรียมไว้ด้วยไวยากรณ์ต่อไปนี้ −

ตัวอย่าง

EXECUTE stmt USING @variable_name;

ที่นี่ @variable_name จะมีค่าที่เราต้องการให้ tp pass แทนที่ ? ในคำสั่ง PREPARE เราจำเป็นต้องตั้งค่าของ @variable_name โดยใช้คำสั่ง SET ก่อนดำเนินการคำสั่งที่เตรียมไว้

จัดสรรคำสั่งที่เตรียมไว้

เป็นขั้นตอนสุดท้ายที่เราจะเผยแพร่คำสั่งที่เตรียมไว้โดยใช้คำสั่ง DEALLOCATE ตัวอย่างเช่น เราจะจัดสรรคืนคำสั่ง stmt ที่เตรียมไว้โดยใช้ไวยากรณ์ต่อไปนี้ -

ตัวอย่าง

DEALLOCATE PREPARE stmt;

ต่อไปนี้คือข้อความค้นหาที่เราเรียกใช้คำสั่งที่เตรียมไว้ −

mysql> PREPARE stmt FROM 'SELECT tender_value from Tender WHERE
Companyname = ?';
Query OK, 0 rows affected (0.09 sec)
Statement prepared

mysql> SET @A = 'Singla Group.';
Query OK, 0 rows affected (0.00 sec)

mysql> EXECUTE stmt using @A;
+--------------+
| tender_value |
+--------------+
|   220.255997 |
+--------------+
1 row in set (0.07 sec)

mysql> DEALLOCATE PREPARE stmt;
Query OK, 0 rows affected (0.00 sec)