หน้าแรก
หน้าแรก
MySQL ให้ วนซ้ำ คำสั่งที่รันบล็อกของโค้ดซ้ำๆ พร้อมกับเพิ่มความยืดหยุ่นของการใช้ป้ายกำกับแบบวนซ้ำ เรามีสองคำสั่งต่อไปนี้ที่ช่วยให้เราควบคุมการวนซ้ำ - ออกจากคำสั่ง ทำให้เราสามารถออกจากลูปได้ทันทีโดยไม่ต้องรอตรวจสอบเงื่อนไข ย้ำคำสั่ง ซึ่งช่วยให้เราข้ามโค้ดทั้งหมดภายใต้โค้ดดังกล่าวและเริ่มต้นการทำซ้ำให
เราสามารถใช้เคอร์เซอร์เพื่อจัดการชุดผลลัพธ์ภายในกระบวนงานที่เก็บไว้ โดยทั่วไป เคอร์เซอร์ช่วยให้เราทำซ้ำชุดของแถวที่ส่งคืนโดยแบบสอบถามและประมวลผลแต่ละแถวตามลำดับ สาธิตการใช้งาน CURSOR ภายในกระบวนงานที่เก็บไว้ของ MySQL เรากำลังสร้างขั้นตอนการจัดเก็บต่อไปนี้ซึ่งขึ้นอยู่กับค่าดังที่แสดงด้านล่างของตาราง
การจัดการข้อผิดพลาดด้วยการโยนข้อความแสดงข้อผิดพลาดที่เหมาะสมเป็นสิ่งสำคัญมาก MySQL จัดเตรียมตัวจัดการเพื่อจัดการกับข้อผิดพลาด เราสามารถประกาศตัวจัดการโดยใช้ไวยากรณ์ต่อไปนี้ - ไวยากรณ์ของตัวจัดการ DECLARE handler_action FOR condition_value statement; ไวยากรณ์ด้านบนแสดงให้เห็นว่าเราจำเป็นต้องใช้คำสั่ง
เมื่อใดก็ตามที่มีข้อยกเว้นเกิดขึ้นในกระบวนงานที่เก็บไว้ของ MySQL การจัดการโดยแสดงข้อความแสดงข้อผิดพลาดที่เหมาะสมเป็นสิ่งสำคัญมาก สมมติว่าถ้าเราไม่จัดการกับข้อยกเว้น จะมีโอกาสทำให้แอปพลิเคชันล้มเหลวโดยมีข้อยกเว้นบางอย่างในกระบวนงานที่เก็บไว้ MySQL จัดเตรียมตัวจัดการเพื่อจัดการกับข้อยกเว้นในกระบวนงานท
เรายังสามารถใช้ฟังก์ชัน IN() เพื่อเปรียบเทียบตัวสร้างแถว ลองพิจารณาตัวอย่างต่อไปนี้เพื่อให้ชัดเจนยิ่งขึ้น - mysql> Select (10,2) IN ((5,10),(10,2),(2,10),(100,100)); +--------------------------------------------+ | (10,2) IN ((5,10),(10,2),(2,10),(100,100)) | +------------------------------------
เราสามารถใช้ฟังก์ชัน MySQL INSERT() เพื่อแทรกสตริงย่อยที่ตำแหน่งที่ระบุในสตริงได้ ไวยากรณ์ INSERT(original_string, @pos, @len, new_string) ในที่นี้ original_string คือสตริงที่เราต้องการแทรกสตริงใหม่ในตำแหน่งของอักขระบางตัว @pos คือตำแหน่งที่ควรเริ่มการแทรกสตริงใหม่ @len คือจำนวนอักขระที่ควรลบออกจา
ฟังก์ชัน MySQL INSERT() จะไม่ทำการแทรกหากตำแหน่งของการแทรกไม่อยู่ภายในความยาวของสตริง มีบางกรณีเช่นเราส่งค่าลบหรือ 0(ศูนย์) หรือค่าเกินค่าของจำนวนอักขระทั้งหมดในสตริงเดิม 2 เมื่อเราสามารถพูดได้ว่า pos ไม่อยู่ภายในความยาวของสตริง . สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างต่อไปนี้ − ตัวอย่าง แบบสอ
ในกรณีที่ เลน ไม่อยู่ภายในความยาวของสตริงที่เหลือ ดังนั้นฟังก์ชัน MySQL INSERT() จะทำการลบอักขระต่อไปจนกว่าจะสิ้นสุดสตริงเดิม ตัวอย่าง เลือก INSERT(myteststring,3,15,name);+--------------------------- --------+| INSERT(myteststring,3,15,name) |+------------------------------------------------ ---+
เราสามารถรับระเบียนเป็นชุดผลลัพธ์โดยระบุสตริงและชื่อของคอลัมน์เฉพาะเป็นอาร์กิวเมนต์ของฟังก์ชัน FIND_IN_SET() เราจำเป็นต้องใช้คำสั่ง WHERE กับฟังก์ชัน FIND_IN_SET() เพื่อให้เข้าใจ เรากำลังใช้ข้อมูลตามด้านล่าง จากตาราง student_info: mysql> Select * from student_info; +------+---------+----------+--
อย่างที่เราทราบดีว่าคำสั่ง WHERE ถูกใช้เพื่อใส่เงื่อนไข/s ในการสืบค้น MySQL และ MySQL จะส่งกลับชุดผลลัพธ์ตามเงื่อนไขเหล่านั้น ในทำนองเดียวกันเมื่อเราใช้ฟังก์ชัน REPLACE() กับส่วนคำสั่ง WHERE ชุดผลลัพธ์จะขึ้นอยู่กับเงื่อนไขที่ให้ไว้ ต่อไปนี้เป็นตัวอย่างโดยใช้ข้อมูลจากตาราง นักเรียน ซึ่งฟังก์ชัน REPLA
เราสามารถดึงค่าคอลัมน์ MySQL SET เป็นรายการออฟเซ็ตจำนวนเต็มด้วยความช่วยเหลือของฟังก์ชัน MAKE_SET() เพื่อให้เข้าใจ เรากำลังสร้างตารางชื่อ set_testing ดังนี้ − mysql> Create table set_testing( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, table SET('ABC','ABD','GHF')
ตัวดำเนินการความเท่าเทียมแบบไบนารีเปรียบเทียบตัวถูกดำเนินการเพื่อความเท่าเทียมกันหรือความไม่เท่าเทียมกันที่เข้มงวด ใน MySQL ค่าเท่ากับตัวดำเนินการ (=) จะส่งกลับ 1 หากตัวถูกดำเนินการทั้งสองมีค่าเท่ากัน มิฉะนั้นจะคืนค่า 0 หลังจากการสืบค้น MySQL จะแสดงเงื่อนไขความเท่าเทียมกัน - mysql> Select tender_
อสมการหมายถึงไม่เท่ากับและ MySQL มีตัวดำเนินการอสมการสองตัวคือ <> และ != แบบสอบถาม MySQL ต่อไปนี้แสดงเงื่อนไขความไม่เท่าเทียมกัน mysql> Select tender_value From estimated_cost1 WHERE Name_company != 'Chd Ltd.'; ข้อความค้นหาด้านบนแสดงเงื่อนไขความไม่เท่าเทียมกันเนื่องจากมีตัวดำเนินการ != m
อย่างที่เรารู้ว่าใน MySQL เป็นค่าเริ่มต้น || โอเปอเรเตอร์เป็นโอเปอเรเตอร์ OR แบบลอจิคัล แต่ขึ้นอยู่กับโหมด PIPES_AS_CONCAT SQL หากเปิดใช้งานโหมด PIPES_AS_CONCAT SQL แล้ว || ตัวดำเนินการทำงานเป็นการต่อสายอักขระ ในขณะนั้นลำดับความสำคัญจะอยู่ระหว่าง ^ และตัวดำเนินการเอกพจน์ ตัวอย่างต่อไปนี้จะทำให้เข้าใ
สำหรับการรวมค่าของสองคอลัมน์ขึ้นไป เราสามารถใช้ฟังก์ชัน MySQL CONCAT() ในกรณีนี้ อาร์กิวเมนต์ของฟังก์ชัน CONCAT() จะเป็นชื่อของคอลัมน์ ตัวอย่างเช่น สมมติว่าเรามีตารางชื่อ นักเรียน และเราต้องการชื่อและที่อยู่ของนักเรียนรวมกันในคอลัมน์เดียว จึงสามารถเขียนข้อความค้นหาต่อไปนี้ได้ - mysql> Select Id,
MySQL หากเป็นอย่างอื่น ดำเนินการคำสั่งตามหลายนิพจน์ ไวยากรณ์ของมันมีดังนี้ − IF expression THEN statements; ELSEIF elseif-expression THEN elseif-statements; … … … … ELSE else-statements; END IF; ข้อความต้องลงท้ายด้วยเครื่องหมายอัฒภาค เพื่
ใน MySQL เป็นไปได้ไหมที่จะรับค่าอักขระของค่าจำนวนเต็มที่กำหนดตามตาราง ASCII ฟังก์ชัน MySQL CHAR() ใช้เพื่อคืนค่าอักขระของค่าจำนวนเต็มที่กำหนดตามตาราง ASCII ไวยากรณ์ของมันคือ − ไวยากรณ์ CHAR(N,…[USING charset_name]) โดยที่ N คือจำนวนเต็มที่ต้องการดึงค่าของอักขระ ตัวอย่าง mysql> Select CHAR
MySQL หากเป็นอย่างอื่น คำสั่งใช้โครงสร้างตามเงื่อนไขพื้นฐานเมื่อนิพจน์ประเมินเป็นเท็จ ไวยากรณ์ของมันคือ − คำสั่ง IF นิพจน์ THEN;ELSE else-statements;END IF; ข้อความต้องลงท้ายด้วยเครื่องหมายอัฒภาค เพื่อแสดงการใช้ IF ELSE คำสั่งภายใน MySQL กระบวนงานที่เก็บไว้ เรากำลังสร้างขั้นตอนการจัดเก็บต่อไปนี้ซึ
อันที่จริง คำสั่ง CASE มีฟังก์ชันการทำงานของคำสั่ง IF-THEN-ELSE มีรูปแบบดังนี้ − CASE WHEN condition_1 THEN {...statements to execute when condition_1 is TRUE...} [ WHEN condition_2 THEN {...statements to execute when condition_2 is TRUE...} ] [ WHEN condition_n THEN
MySQL CHAR() ฟังก์ชันจะละเว้น NULL หากมีการระบุเป็นอาร์กิวเมนต์ เพื่อให้เข้าใจ ให้พิจารณาตัวอย่างต่อไปนี้ - mysql> Select CHAR(65,66,67,NULL); +---------------------+ | CHAR(65,66,67,NULL) | +---------------------+ | ABC | +-----------------