หน้าแรก
หน้าแรก
อย่างที่เราทราบดีว่า MySQL ให้คำสั่งแบบวนซ้ำที่ช่วยให้เราสามารถดำเนินการบล็อกของโค้ด SQL ซ้ำๆ ตามเงื่อนไข ในขณะที่ คำสั่งวนซ้ำเป็นหนึ่งในชนิดของคำสั่งวนรอบดังกล่าว ไวยากรณ์ของมันคือ − WHILE expression DO statements END WHILE ที่จริงแล้ว WHILE loop จะตรวจสอบนิพจน์ที่จุดเริ่มต้นของการวนซ้ำทุกครั้ง หา
อย่างที่เราทราบดีว่า MySQL มีคำสั่งวนรอบที่ช่วยให้เราสามารถดำเนินการบล็อกของโค้ด SQL ซ้ำๆ ตามเงื่อนไข ทำซ้ำ คำสั่งวนซ้ำเป็นคำสั่งวนซ้ำประเภทหนึ่ง ไวยากรณ์ของมันคือ − REPEAT statements; UNTIL expression END REPEAT ก่อนอื่น MySQL รันคำสั่ง จากนั้นจึงประเมินนิพจน์ หากนิพจน์ประเมินเป็น FA
MySQL จะแปลงอาร์กิวเมนต์ของฟังก์ชัน CHAR() ซึ่งมากกว่า 255 เป็นไบต์ของผลลัพธ์หลายไบต์ ตัวอย่างเช่น CHAR(260) เทียบเท่ากับ CHAR(0,1,0,4) ได้ชัดเจนยิ่งขึ้นด้วยความช่วยเหลือของข้อความต่อไปนี้ - mysql> Select HEX(CHAR(256)),HEX(CHAR(1,0)); +----------------+----------------+ | HEX(CHAR(256)) | HEX(CH
ด้วยความช่วยเหลือของฟังก์ชัน CHARSET() เราสามารถตรวจสอบว่าสตริงใดที่ส่งคืนโดยฟังก์ชัน MySQL CHAR() ชุดผลลัพธ์ต่อไปนี้จะแสดงให้เห็น - mysql> Select CHARSET(CHAR(85)); +-------------------+ | CHARSET(CHAR(85)) | +-------------------+ | binary | +-------------------+ 1 row in set (0.00 s
เราสามารถใช้คีย์เวิร์ด USING เพื่อสร้างสตริง นอกเหนือจากสตริงไบนารีเริ่มต้น ในชุดอักขระที่กำหนด ชุดผลลัพธ์ต่อไปนี้จะแสดงให้เห็น - mysql> Select CHARSET(CHAR(85 USING utf8)); +------------------------------+ | CHARSET(CHAR(85 USING utf8)) | +------------------------------+ | utf8 &nb
สัญกรณ์บิตฟิลด์เป็นสัญกรณ์ด้วยความช่วยเหลือซึ่งเราสามารถเขียนค่าบิตฟิลด์ ไวยากรณ์ของสัญกรณ์ Bit-field มีดังนี้ - ไวยากรณ์ b’value’ OR 0bvalue ในที่นี้ ค่าเป็นค่าไบนารี่ที่เขียนโดยใช้เลขศูนย์และตัวคูณ สัญกรณ์ Bit-filed ส่วนใหญ่จะสะดวกสำหรับการระบุค่าที่จะกำหนดให้กับคอลัมน์ BIT ของ
อันที่จริง ค่าบิตจะถูกส่งคืนเป็นค่าไบนารี แต่เรายังสามารถแสดงค่าเหล่านี้ในรูปแบบที่พิมพ์ได้โดยใช้สิ่งต่อไปนี้ - โดยการบวก 0 เราสามารถแสดงค่าบิตในรูปแบบที่พิมพ์ได้โดยการเพิ่ม 0 เข้าไป ตามตัวอย่างจากตาราง bit_testing สามารถใช้เพื่อทำความเข้าใจได้ - mysql> Select bittest+0 from bit_testing; +-------
โดยค่าเริ่มต้น ค่าบิตที่กำหนดให้กับตัวแปรผู้ใช้จะเป็นสตริงไบนารี มันสามารถแสดงให้เห็นได้โดยการกำหนดค่าบิตให้กับตัวแปรผู้ใช้แล้วดึงออกมาดังต่อไปนี้ - mysql> SET @abc = 0b1000011; Query OK, 0 rows affected (0.00 sec) mysql> Select @abc; +------+ | @abc | +------+ | C | +------+ 1 r
อย่างที่เราทราบดีว่าประเภทเริ่มต้นของค่าบิตที่กำหนดให้กับตัวแปรผู้ใช้คือสตริงไบนารี แต่เรายังสามารถกำหนดค่าบิตให้กับตัวเลขโดยใช้สองวิธีต่อไปนี้ - โดยใช้ฟังก์ชัน CAST() ด้วยความช่วยเหลือของ CAST(… AS UNSIGNED) ค่าบิตสามารถกำหนดเป็นตัวเลขได้ ตัวอย่างต่อไปนี้จะแสดงให้เห็น - mysql> SET @abc = CAST(0b
ในกระบวนงานที่เก็บไว้ของ MySQL ตัวแปรผู้ใช้จะถูกอ้างอิงด้วยเครื่องหมายและเช่น @ ซึ่งนำหน้าชื่อตัวแปรของผู้ใช้ ตัวอย่างเช่น @A, @B เป็นต้น เป็นตัวแปรของผู้ใช้ เพื่อแสดงให้เห็น เรากำลังสร้างขั้นตอนต่อไปนี้ - mysql> DELIMITER // ; mysql> CREATE PROCEDURE Proc_Uservariables() -> BE
MySQL SUBSTRING_INDEX() ฟังก์ชันจะส่งคืนสตริงเดียวกันกับเอาต์พุต หากอาร์กิวเมนต์ count มีค่ามากกว่าจำนวนรวมของตัวคั่นที่เกิดขึ้น สามารถแสดงให้เห็นได้ด้วยตัวอย่างต่อไปนี้ − mysql> Select SUBSTRING_INDEX('My Name is Ram','a',3); +-----------------------------------------+ | SUBSTRIN
ที่จริงแล้ว เมื่อ parser พบคำที่เป็นชื่อของฟังก์ชันในตัว จะต้องพิจารณาว่าชื่อนั้นแทนการเรียกใช้ฟังก์ชันหรือเป็นการอ้างอิงที่ไม่ใช่นิพจน์แทน ตัวระบุ เช่น ชื่อตารางหรือคอลัมน์ พิจารณาคำถามต่อไปนี้ - 1. เลือกผลรวม (เงินเดือน) จากพนักงาน2. สร้างผลรวมของตาราง (i int); ในแบบสอบถามแรก SUM คือการอ้างอิงถึง
คำสั่ง MySQL IF ใช้งานโครงสร้างตามเงื่อนไขพื้นฐานภายในกระบวนงานที่เก็บไว้ ไวยากรณ์ของมันคือ − IF expression THEN Statements; END IF; ต้องลงท้ายด้วยเครื่องหมายอัฒภาค เพื่อสาธิตการใช้คำสั่ง IF ภายใน MySQL กระบวนงานที่เก็บไว้ เรากำลังสร้างกระบวนงานที่เก็บไว้ซึ่งขึ้นอยู่กับค่าดังที่แสดงด้านล่างของตารางช
กฎเริ่มต้นที่ใช้โดย parser สำหรับการแยกวิเคราะห์ชื่อของฟังก์ชันในตัวสามารถเปลี่ยนแปลงได้โดยการเปิดใช้งานโหมด IGNORE_SPACE SQL เมื่อเราเปิดใช้งานโหมดนี้ parser จะผ่อนคลายข้อกำหนดว่าต้องไม่มีช่องว่างระหว่างชื่อฟังก์ชันและวงเล็บต่อไปนี้ ตัวอย่างเช่น หลังจากเปิดใช้งานโหมด IGNORE_SPACE SQL การเรียกใช้ฟัง
สามารถใช้โหมด IGNORE_SPACE SQL เพื่อแก้ไขวิธีที่ parser จัดการกับชื่อฟังก์ชันที่ไวต่อช่องว่าง ต่อไปนี้เป็นกรณีที่เราสามารถใช้โหมด IGNORE_SPACE SQL - Case-1 − เมื่อปิดใช้งานโหมด IGNORE_SPACE SQL หลังจากปิดใช้งานโหมด IGNORE_SPACE SQL แล้ว parser จะตีความชื่อเป็นการเรียกฟังก์ชันเมื่อไม่มีช่องว่างระหว่า
เพื่อให้เข้าใจว่าเรากำลังใช้ตารางชื่อ student_info ซึ่งมีค่าดังต่อไปนี้ - mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | Yash
ตัวอย่างต่อไปนี้จะสาธิตขั้นตอนการจัดเก็บ MySQL ด้วย INOUT พารามิเตอร์ - mysql> DELIMITER // ; mysql> Create PROCEDURE counter(INOUT count INT, IN increment INT) -> BEGIN -> SET count = count + increment; -> END // Query OK, 0 rows affected (0
เราสามารถสร้างกระบวนงานที่เก็บไว้ด้วยตัวดำเนินการ IN และ OUT เพื่อ SELECT ระเบียน ตามเงื่อนไขบางอย่าง จากตาราง MySQL เพื่อให้เข้าใจ เรากำลังยกตัวอย่างของตารางชื่อ student_info ซึ่งมีข้อมูลดังต่อไปนี้ - mysql> Select * from student_info; +------+---------+------------+------------+ | id | N
เราสามารถสร้างกระบวนงานที่เก็บไว้ด้วยตัวดำเนินการ IN เพื่อแทรกค่าในตาราง MySQL เพื่อให้เข้าใจ เรากำลังยกตัวอย่างของตารางชื่อ student_info ซึ่งมีข้อมูลดังต่อไปนี้ - mysql> Select * from student_info; +------+---------+-----------+------------+ | id | Name | Address | Sub
อย่างที่เราทราบดีว่าในบริบทที่เป็นตัวเลข ค่าฐานสิบหกจะทำหน้าที่เหมือนเป็นจำนวนเต็ม และในบริบทของสตริง ค่าดังกล่าวจะทำหน้าที่เหมือนสตริงไบนารี สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างต่อไปนี้ mysql> Select X'5455544F5249414C53504F494E54'; +---------------------------------+ | X'5455