หน้าแรก
หน้าแรก
ด้วยความช่วยเหลือของฟังก์ชันสตริง MySQL ASCII() เราสามารถรับรหัสตัวเลขของอักขระเฉพาะได้ ไวยากรณ์ของมันคือ ASCII(str) โดยที่ str อาร์กิวเมนต์ของฟังก์ชัน ASCII() คือสตริงที่มีค่า ASCII ของอักขระตัวแรกที่จะดึงข้อมูล มันจะส่งคืนรหัสตัวเลขทางซ้ายของอักขระมากที่สุดนั่นคืออักขระตัวแรกของสตริงที่กำหนดเป็นอ
ฟังก์ชัน MySQL REVERSE() สามารถมีชื่อคอลัมน์เป็นอาร์กิวเมนต์เพื่อกลับค่าได้ หากเราต้องการใช้เงื่อนไขบางอย่างก็สามารถใช้ร่วมกับคำสั่ง WHERE ได้ดังนี้: ตัวอย่าง mysql> Select Name, REVERSE(Name) from Student; +---------+---------------+ | Name | REVERSE(Name) | +---------+-------------
อย่างที่เราทราบดีว่า MySQL SELECT สามารถใช้เพื่อดึงข้อมูลจากตารางเดียวในแต่ละครั้ง แต่คำถามทั้งหมดไม่สามารถตอบได้โดยใช้เพียงตารางเดียว ดังนั้นสำหรับวัตถุประสงค์ดังกล่าวข้างต้น เช่น การดึงข้อมูลที่จัดเก็บไว้ในตารางหลายๆ ตาราง เราสามารถใช้การดำเนินการ Join ได้ โดยทั่วไป การเข้าร่วม MySQL เป็นวิธีการเ
ที่จริงแล้ว ในคำง่ายๆ เราสามารถพูดได้ว่าการรวมระหว่างตารางเป็นส่วนขยายของคำสั่ง SELECT แบบตารางเดียว แต่มันเกี่ยวข้องกับความซับซ้อนเพิ่มเติม: ต้องระบุตารางทั้งหมด เราจำเป็นต้องระบุตารางทั้งหมดในส่วนคำสั่ง FROM ที่เกี่ยวข้องกับการรวม ตรงกันข้ามกับคำสั่ง SELECT ที่ต้องการชื่อตารางเพียงชื่อเดียวเท่าน
การเขียน inner join โดยใช้ตัวดำเนินการลูกน้ำเป็นวิธีพื้นฐานที่สุดในการรวมสองตาราง อย่างที่เราทราบดีว่าเราสามารถเขียน inner join ได้โดยใช้คีย์เวิร์ด INNER JOIN หรือคำพ้องความหมายอย่าง JOIN ในการสร้าง inner join เราจำเป็นต้องระบุเงื่อนไขเฉพาะที่เรียกว่า join-predicate และในขณะที่เขียน inner join โดยใช
เซิร์ฟเวอร์ MySQL รองรับคำสั่งที่เตรียมไว้ ซึ่งมีประโยชน์เมื่อเราต้องการเรียกใช้การสืบค้นจำนวนมากที่แตกต่างกันในรายละเอียดเพียงเล็กน้อยเท่านั้น เราสามารถเตรียมคำสั่งและดำเนินการได้หลายครั้งและแต่ละครั้งมีค่าข้อมูลที่แตกต่างกัน โดยทั่วไป คำสั่งที่เตรียมไว้ใน MySQL จะใช้ประโยชน์จากโปรโตคอลไบนารีของไคล
สำหรับการทำซ้ำค่าที่เก็บไว้ในคอลัมน์ข้อมูลของตาราง MySQL จะต้องส่งชื่อของคอลัมน์เป็นอาร์กิวเมนต์แรกของฟังก์ชัน REPEAT() ข้อมูลจากตาราง นักเรียน ใช้เพื่อสาธิต: ตัวอย่าง mysql> Select REPEAT(Name,3)AS Name from student; +-----------------------+ | Name &nbs
สมมติว่าเราต้องการให้เอาต์พุตของฟังก์ชัน REPEAT() อ่านง่ายขึ้น เราก็สามารถใช้ฟังก์ชันอื่นร่วมกับมันได้ ตัวอย่างเช่น หากเราต้องการเพิ่มช่องว่างหรืออักขระอื่นระหว่างค่าที่ซ้ำกัน เราก็สามารถใช้ฟังก์ชัน CONCAT() ตัวอย่าง mysql> Select REPEAT(CONCAT(' *',Subject,'* '),3)AS Subject_repe
ในกรณีนี้ MySQL จะไม่ใส่ข้อมูลใดๆ และตัดทอนอักขระจากสตริงดั้งเดิมจนถึงค่าของความยาวที่ระบุเป็นอาร์กิวเมนต์ในฟังก์ชัน LPAD() หรือ RPAD() ตัวอย่าง mysql> Select LPAD('ABCD',3,'*'); +--------------------+ | LPAD('ABCD',3,'*') | +--------------------+ | ABC &nbs
อันที่จริง เป็นไปไม่ได้ที่จะเตรียมคำสั่ง SQL ทั้งหมดเนื่องจาก MySQL อนุญาตเฉพาะคำสั่ง SQL ประเภทต่อไปนี้ที่สามารถเตรียมได้: คำสั่ง SELECT ตัวอย่าง mysql> PREPARE stmt FROM 'SELECT tender_value from Tender WHERE Companyname = ?'; Query OK, 0 rows affected (0.09 sec) Statement prepared mys
สามารถเข้าใจได้โดยทำตามตัวอย่างที่เราได้สร้างตารางชื่อ นักเรียน โดยใช้คำสั่งที่เตรียมไว้ - mysql> PREPARE stmt3 FROM 'CREATE TABLE Student(Id INT, Name Varchar(20))'; Query OK, 0 rows affected (0.00 sec) Statement prepared mysql> EXECUTE stmt3; Query OK, 0 rows affected (0.73 sec) my
สามารถเข้าใจได้โดยทำตามตัวอย่างที่เราได้อัปเดตตารางชื่อ นักเรียน โดยมีข้อมูลดังต่อไปนี้ โดยใช้คำสั่งที่เตรียมไว้ - mysql> Select * from Student; +------+-------+ | Id | Name | +------+-------+ | 1 | Ram | | 2 | Shyam | | 3 | Mohan | +----
อย่างที่เราทราบดีว่าตัวแปรผู้ใช้ MySQL นั้นเจาะจงสำหรับการเชื่อมต่อไคลเอนต์ภายในซึ่งพวกมันถูกใช้และมีอยู่ในช่วงเวลาของการเชื่อมต่อนั้นเท่านั้น เมื่อการเชื่อมต่อสิ้นสุดลง ตัวแปรผู้ใช้ทั้งหมดจะหายไป ในทำนองเดียวกัน ข้อความสั่งที่เตรียมไว้จะมีอยู่เฉพาะในช่วงระยะเวลาของเซสชันที่สร้างและมองเห็นได้เฉพาะเซ
ที่จริงแล้ว ใน MySQL เราสามารถเตรียมคำสั่งที่มีชื่อเดียวกันได้โดยไม่ต้องจัดสรรคำสั่งก่อนหน้านี้ เนื่องจาก MySQL จะลบคำสั่งที่เตรียมไว้โดยอัตโนมัติเมื่อมีการกำหนดใหม่หรือเมื่อเราปิดการเชื่อมต่อ เซิฟเวอร์. กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่าเราสามารถใช้ชื่อเดียวกันสำหรับข้อความสั่งที่เตรียมไว้โดยไม่ต้
เราสามารถใช้ทั้งฟังก์ชัน INSTR() และตัวดำเนินการ LIKE เพื่อค้นหาหรือจับคู่รูปแบบเฉพาะและให้ผลลัพธ์เหมือนกัน สามารถสาธิตได้จากตัวอย่างตาราง นักเรียน ต่อไปนี้ ตัวอย่าง สมมติว่าเราต้องการค้นหาชื่อซึ่งมี av อยู่ในตาราง Student เราสามารถใช้ฟังก์ชัน INSTR() ได้ดังนี้ − mysql> Select Name from student w
สามารถใช้ฟังก์ชัน MySQL QUOTE() เพื่อผนวกค่าของคอลัมน์ด้วยเครื่องหมายคำพูดเดี่ยว สำหรับสิ่งนี้ เราต้องส่งชื่อคอลัมน์เป็นอาร์กิวเมนต์ของฟังก์ชัน QUOTE() ข้อมูลจากตาราง นักเรียน ใช้เพื่อสาธิตดังนี้ ตัวอย่าง mysql> Select Name, ID, QUOTE(Subject)AS Subject from Student; +---------+------+----------
เมื่อฟังก์ชัน QUOTE() ใช้กับส่วนคำสั่ง WHERE ผลลัพธ์จะขึ้นอยู่กับค่าเปรียบเทียบที่ส่งคืนโดยส่วนคำสั่ง WHERE ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Select Name, ID, QUOTE(Subject)AS Subject from Student WHERE Subject = 'History'; +-------+------+-----------+ | Name | ID &nb
ตัวแปรผู้ใช้ MySQL ถูกเขียนเป็น @variable และอาจถูกตั้งค่าเป็นจำนวนเต็ม ค่าจริง สตริง หรือค่า NULL ด้วยความช่วยเหลือของคำสั่ง SET เราสามารถกำหนดค่าให้กับตัวแปรผู้ใช้ เราสามารถใช้ =หรือ :=เป็นตัวดำเนินการกำหนดในขณะที่กำหนดค่าให้กับตัวแปรผู้ใช้ ตัวอย่าง mysql> SET @A = 100; Query OK, 0 rows affecte
MySQL TRUNCATE() ฟังก์ชั่นใช้เพื่อคืนค่าของ X ที่ถูกตัดทอนเป็น D จำนวนตำแหน่งทศนิยม ถ้า D เป็น 0 จุดทศนิยมจะถูกลบออก ถ้า D เป็นค่าลบ จำนวนค่า D ในส่วนจำนวนเต็มของค่าจะถูกตัดทอน ไวยากรณ์ของมันสามารถเป็นดังนี้ - ไวยากรณ์ TRUNCATE(X, D) ที่นี่ X คือตัวเลขที่จะถูกตัดออก D คือตัวเลขที่ทศนิยมตำแหน่งซึ่ง
MySQL คืนค่า NULL หากอาร์กิวเมนต์ของฟังก์ชัน QUOTE() เป็น NULL ตัวอย่าง mysql> Select QUOTE(NULL); +-------------+ | QUOTE(NULL) | +-------------+ | NULL +-------------+ 1 row in set (0.00 sec) mysql> Select Name, QUOTE(NULL) from student where id = 1; +--------