หน้าแรก
หน้าแรก
เหตุการณ์ MySQL เป็นงานที่รันตามกำหนดการที่กำหนดไว้ล่วงหน้า ดังนั้นบางครั้งจึงเรียกว่าเหตุการณ์ตามกำหนดการ กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่ากำหนดการเหตุการณ์ของ MySQL เป็นกระบวนการที่ทำงานอยู่เบื้องหลังและมองหาเหตุการณ์ที่จะดำเนินการอย่างต่อเนื่อง มันถูกเรียกว่าทริกเกอร์ชั่วคราวเนื่องจากทริกเกอร์ต
โดยทั่วไป มีสองประเภทของเหตุการณ์ที่เราจำเป็นต้องระบุกำหนดการ - เหตุการณ์ที่เกิดขึ้นครั้งเดียว เหตุการณ์ที่เกิดขึ้นครั้งเดียวหมายความว่าจะดำเนินการเพียงครั้งเดียวในกำหนดการเฉพาะ หากเราต้องการสร้างเหตุการณ์แบบครั้งเดียว เราจำเป็นต้องใส่ไวยากรณ์ต่อไปนี้หลังคำสั่ง ON SCHEDULE - AT Timestamp[+INTERVAL]
อันที่จริง ตัวกำหนดตารางเวลาเหตุการณ์ของ MySQL เป็นกระบวนการที่ทำงานอยู่เบื้องหลังและมองหาเหตุการณ์ที่จะดำเนินการอย่างต่อเนื่อง แต่ก่อนที่เราจะสร้างหรือกำหนดเวลากิจกรรม เราแค่ต้องเริ่มตัวจัดกำหนดการก่อน มันสามารถเริ่มต้นด้วยความช่วยเหลือของคำสั่งต่อไปนี้ − mysql> SET GLOBAL event_scheduler = ON;
ด้วยความช่วยเหลือของฟังก์ชัน RAND() ที่ใช้พร้อมกับคำสั่งย่อย ORDER BY ชุดของแถวหรือค่าสามารถสุ่มในชุดผลลัพธ์ได้ เพื่อให้เข้าใจว่าตาราง พนักงาน มีบันทึกดังต่อไปนี้ - mysql> Select * from employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav |
ด้วยความช่วยเหลือของโอเปอเรเตอร์ RLIKE เราสามารถทำการจับคู่ประเภทนี้ได้ แนวคิดเดียวคือการใช้แบ็กสแลชจำนวนหนึ่งในการสืบค้น MySQL ตัวอย่างด้านล่างจะทำให้ชัดเจนขึ้น - เรามีตารางต่อไปนี้ที่มีค่าเช่น a\b และ a\\b mysql> select * from backslashes; +------+-------+ | Id | Value | +------+-------
สำหรับการรวมค่าของสองคอลัมน์ขึ้นไปของตาราง MySQL เราสามารถใช้ฟังก์ชันสตริง CONCAT() โดยทั่วไป ฟังก์ชัน MySQL CONCAT() ใช้เพื่อรวมสตริงตั้งแต่สองสตริงขึ้นไป ไวยากรณ์ CONCAT(String1,String2,…,StringN) ในที่นี้ อาร์กิวเมนต์ของฟังก์ชัน CONCAT คือสตริงที่ต้องรวมกัน ตัวอย่าง mysql> select CONCA
MySQL 5.7.2+ ช่วยให้เราสร้างทริกเกอร์ได้หลายรายการสำหรับเหตุการณ์และเวลาดำเนินการเดียวกันในตาราง ทริกเกอร์ทั้งสองจะเปิดใช้งานตามลำดับเมื่อมีเหตุการณ์เกิดขึ้น สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่าง - ตัวอย่าง ในตัวอย่างนี้ เรากำลังสร้างทริกเกอร์หลายตัวสำหรับเหตุการณ์เดียวกันโดยบอกว่าก่อนอัปเดต ช
ในกรณีนี้ MySQL จะเรียกใช้ทริกเกอร์ตามลำดับที่สร้างขึ้น แต่ด้วยความช่วยเหลือของตัวเลือกต่อไปนี้ เราสามารถเปลี่ยนลำดับได้ - ทำตามตัวเลือก ตัวเลือกนี้อนุญาตให้ทริกเกอร์ใหม่เปิดใช้งานหลังจากทริกเกอร์ที่มีอยู่ ไวยากรณ์ FOR EACH ROW FOLLOWS trigger_name นำหน้าตัวเลือก ตัวเลือกนี้อนุญาตให้ทริกเกอร์ใหม่เปิ
บางครั้ง เราจำเป็นต้องรวมอักขระพิเศษในสตริงอักขระ และเมื่อถึงเวลานั้นจะต้องหลีกเลี่ยงหรือป้องกันอักขระเหล่านั้น เราจำเป็นต้องปฏิบัติตามกฎพื้นฐานบางประการในการหลบหนีจากอักขระพิเศษซึ่งระบุไว้ด้านล่าง - อักขระหลีก (\) สามารถหลีกเลี่ยงเป็น (\\) ตัวอย่าง mysql> Select 'A\\B'; +-----+ | A\B | +
ต่อไปนี้เป็นสองวิธีด้วยความช่วยเหลือซึ่งเราสามารถป้อนอักขระเป็นเลขฐานสิบหก - ตามคำนำหน้า X ในแนวทางนี้ เราจำเป็นต้องอ้างอิงตัวเลขฐานสิบหกภายในเครื่องหมายคำพูดเดี่ยวที่มีคำนำหน้า X จากนั้นสตริงตัวเลข HEX จะถูกแปลงเป็นสตริงอักขระโดยอัตโนมัติ ตัวอย่าง mysql> Select X'5152545678'; +---------
ต่อไปนี้เป็นสองวิธีด้วยความช่วยเหลือซึ่งเราสามารถป้อนค่าตัวเลขเป็นเลขฐานสิบหก - ตามคำนำหน้า X ในแนวทางนี้ เราจำเป็นต้องอ้างอิงตัวเลขฐานสิบหกภายในเครื่องหมายคำพูดเดี่ยวด้วยคำนำหน้า X จากนั้นสตริงตัวเลข HEX จะถูกแปลงเป็นตัวเลขโดยอัตโนมัติตามบริบทของนิพจน์ ตัวอย่าง mysql> Select X'5152545678
ทริกเกอร์ MySQL สามารถดำเนินการหลายคำสั่งด้วยความช่วยเหลือของ BEGIN…END โครงสร้าง ภายในบล็อก BEGIN เรายังสามารถใช้ไวยากรณ์อื่นที่ได้รับอนุญาตภายในรูทีนที่เก็บไว้ เช่น เงื่อนไขและลูป เพื่อแสดงแนวคิด เราใช้ตัวอย่างต่อไปนี้ของ BEFORE INSERT TRIGGER มีคำสั่งแบบมีเงื่อนไข IF - ตัวอย่าง mysql> Create
สามารถทำได้โดยใช้ข้อความค้นหาต่อไปนี้ - mysql> SELECT trigger_name,action_order FROM INFORMATION_SCHEMA.triggers WHERE TRIGGER_SCHEMA = 'query' ORDER BY event_object_table,action_timing,event_manipulation; +------------------------------+--------------+ | trigger_name
ต่อไปนี้เป็นสองวิธีด้วยความช่วยเหลือซึ่งเราสามารถป้อนอักขระเป็นตัวเลขไบนารี - ตามคำนำหน้า B ในแนวทางนี้ เราจำเป็นต้องอ้างอิงเลขฐานสองภายในเครื่องหมายคำพูดเดี่ยวด้วยคำนำหน้าเป็น B จากนั้นสตริงตัวเลขไบนารีจะถูกแปลงเป็นสตริงอักขระโดยอัตโนมัติ ตัวอย่าง mysql> Select B'01000001'; +------------
ต่อไปนี้เป็นสองวิธีด้วยความช่วยเหลือซึ่งเราสามารถป้อนค่าตัวเลขเป็นตัวเลขไบนารี - ตามคำนำหน้า B ในแนวทางนี้ เราจำเป็นต้องอ้างอิงเลขฐานสองภายในเครื่องหมายคำพูดเดี่ยวด้วยคำนำหน้าเป็น B จากนั้นสตริงตัวเลขไบนารีจะถูกแปลงเป็นค่าตัวเลขโดยอัตโนมัติตามบริบทของนิพจน์ ตัวอย่าง mysql> Select B'1110'
เนื่องจากเรารู้ว่าไม่มีประเภทข้อมูล BOOLEAN ใน MySQL ดังนั้นโดยใช้ TRUE หรือ true, FALSE หรือ false เราจึงสามารถป้อนค่า Boolean ในคำสั่ง MySQL ได้ ตัวอย่าง mysql> Select TRUE,FALSE; +------+-------+ | TRUE | FALSE | +------+-------+ | 1 | 0 | +------+-------+ 1 row in s
เราสามารถใช้อนุประโยค DISTINCT กับมากกว่าคอลัมน์ใน MySQL ในกรณีนี้ ความเป็นเอกลักษณ์ของแถวในชุดผลลัพธ์จะขึ้นอยู่กับการรวมคอลัมน์ทั้งหมด ตัวอย่าง พิจารณาตารางต่อไปนี้ว่า การทดสอบ มี 10 แถว - mysql> select * from testing; +------+---------+---------+ | id | fname | Lname | +---
ทริกเกอร์จะถูกทำลายด้วยหากเราจะทำลายตารางที่สัมพันธ์กับตารางนั้น เรียกว่าการทำลายอย่างชัดเจนของทริกเกอร์ สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่าง - ตัวอย่าง สมมติว่าเรามีทริกเกอร์ชื่อ trigger_before_delete_sample บนโต๊ะชื่อ Sample ตอนนี้ถ้าเราจะลบตารางนี้ ทริกเกอร์ด้านบนที่เชื่อมโยงกับตารางนี้จะ
เมื่อเราใช้ส่วนคำสั่ง GROUP BY ในคำสั่ง SELECT โดยไม่ใช้ฟังก์ชันการรวม มันจะทำงานเหมือนกับคำสั่งย่อย DISTINCT ตัวอย่างเช่น เรามีตารางต่อไปนี้ − mysql> Select * from testing; +------+---------+---------+ | id | fname | Lname | +------+---------+---------+ | 200 | Raman &
ได้ เป็นไปได้ที่จะใช้ส่วนคำสั่ง MySQL GROUP BY กับหลายคอลัมน์ เช่นเดียวกับที่เราสามารถใช้คำสั่งย่อย MySQL DISTINCT ลองพิจารณาตัวอย่างต่อไปนี้ซึ่งเราใช้อนุประโยค DISTINCT ในเคียวรีแรกและ GROUP BY clause ในเคียวรีที่สอง ในคอลัมน์ fname และ Lname ของตารางที่ชื่อ testing mysql> Select * from testing;