Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. วิธีกำหนดตัวแปรผู้ใช้ (user-defined variable) ให้คงที่สำหรับไคลเอนต์ใน MySQL

    ใน MySQL ไม่สามารถทำให้ไคลเอนต์เก็บตัวแปรผู้ใช้ได้อย่างถาวร เนื่องจากตัวแปรทั้งหมดสำหรับการเชื่อมต่อไคลเอนต์ที่กำหนดจะถูกปลดปล่อยอัตโนมัติเมื่อไคลเอนต์ออกจากระบบ

  2. วิธีใช้คำสงวนของ MySQL เป็นตัวระบุ (identifier)

    เราต้องใช้เครื่องหมายคำพูดกับคำสงวนเพื่อใช้เป็นตัวระบุ เครื่องหมายคำพูดอาจเป็นเดี่ยวหรือคู่ ขึ้นอยู่กับโหมด SQL ANSI_QUOTES หากโหมดนี้ปิดอยู่ ตัวระบุจะใช้แบ็กทิก (`) ตัวอย่างสร้างตารางชื่อ select: mysql> CREATE TABLE `select`(id INT); Query OK, 0 rows affected (0.19 sec) หากโหมดนี้เปิดอยู่ สามารถ

  3. ความยาวสูงสุดของแต่ละประเภทตัวระบุ (identifier) ใน MySQL

    วัตถุบางอย่างใน MySQL เรียกว่า identifiers (ตัวระบุ) รวมถึง database, table, index, column, alias, view, stored procedure, partition, tablespace เป็นต้น Identifiers ถูกจัดเก็บด้วย Unicode (UTF-8) ความยาวสูงสุดของแต่ละประเภทตัวระบุแสดงในตารางต่อไปนี้: ลำดับตัวระบุ (Identifier)ความยาวสูงสุด (ตัวอักษ

  4. เกิดอะไรขึ้นถ้าสตริงย่อยปรากฏมากกว่าหนึ่งครั้งในอาร์กิวเมนต์ของ LOCATE()

    ในกรณีที่สตริงย่อยปรากฏมากกว่าหนึ่งครั้งในสตริง ฟังก์ชัน MySQL LOCATE() จะคืนค่าตำแหน่งของการปรากฏครั้งแรกของสตริงย่อย ตัวอย่าง mysql> SELECT LOCATE(good, Ram is a good boy. Is Ram a good boy?) AS Result; +--------+ | Result | +--------+ | 10 | +--------+ 1 row in set (0.00 sec) สตริงย่อย goo

  5. การใช้ค่า ENUM ในนิพจน์ (expression) ใน MySQL

    เนื่องจากค่า ENUM เชื่อมโยงกับค่าดัชนี หากเราใช้ค่า ENUM ในนิพจน์ การคำนวณทั้งหมดจะทำบนหมายเลขดัชนี ตัวอย่างต่อไปนี้จะชี้แจง: mysql> SELECT * FROM Result; +-----+--------+-------+ | Id | Name | Grade | +-----+--------+-------+ | 100 | Gaurav | GOOD | | 101 | Rahul | POOR | | 102 | Rahul |

  6. MySQL ELT() คืนค่าอะไรเมื่อดัชนีน้อยกว่า 1

    ฟังก์ชัน MySQL ELT() คืนค่า NULL หากหมายเลขดัชนีที่ส่งเป็นอาร์กิวเมนต์น้อยกว่า 1 ตัวอย่างต่อไปนี้จะชี้แจง: ตัวอย่าง mysql> SELECT ELT(0, Ram, is, a, good, boy) AS Result; +--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> SELECT ELT(-1, Ram, is, a, good, boy)

  7. ผลลัพธ์ของ MySQL ELT() เมื่อดัชนีไม่ใช่จำนวนเต็ม

    ตามที่ทราบ อาร์กิวเมนต์แรกของ ELT() ต้องเป็นค่าจำนวนเต็ม แต่เมื่อเราระบุดัชนีที่ไม่ใช่จำนวนเต็ม ฟังก์ชัน MySQL ELT() จะคืนค่า NULL พร้อมคำเตือน ตัวอย่าง mysql> SELECT ELT(one, Ram,is,good,boy) AS Result; +--------+ | Result | +--------+ | NULL | +--------+ 1 row in set, 1 warning (0.00 sec) mys

  8. ฟังก์ชัน EXPORT_SET() ใน MySQL ทำงานอย่างไร

    ฟังก์ชันนี้เป็นฟังก์ชันสตริงของ MySQL ใช้สำหรับค้นหา ด้วยไวยากรณ์ของ EXPORT_SET() เราสามารถเข้าใจการทำงานได้: ไวยากรณ์ EXPORT_SET(bits, on, off, separator, number_of_bits) ในไวยากรณ์นี้: bits (ได้จากการแปลงจำนวนเต็มเป็นบิต) จะถูกเปรียบเทียบว่าเป็น 1 หรือ 0 on คืออาร์กิวเมนต์ที่ 2 มีค่าในเครื่องหมาย

  9. MySQL EXPORT_SET() คืนค่าอะไรเมื่อมีอาร์กิวเมนต์เป็น NULL

    ฟังก์ชัน MySQL EXPORT_SET() จะคืนค่า NULL หากอาร์กิวเมนต์ใดๆ ที่ส่งให้เป็น NULL ตัวอย่างต่อไปนี้จะสาธิต: ตัวอย่าง mysql> SELECT EXPORT_SET(NULL, Y, N, ,, 4); +----------------------------------+ | EXPORT_SET(NULL, Y, N, ,, 4) | +----------------------------------+ | NULL

  10. ทำไมไม่ควรเก็บตัวเลขในคอลัมน์ ENUM ของ MySQL

    MySQL จัดเก็บค่า ENUM ภายในเป็นคีย์จำนวนเต็ม (หมายเลขดัชนี) เพื่ออ้างอิงสมาชิก ENUM เหตุผลหลักที่ไม่ควรเก็บค่าตัวเลขในคอลัมน์ ENUM คือ MySQL จะอ้างอิงถึงดัชนีแทนค่า และในทางกลับกัน ตัวอย่าง ตัวอย่างต่อไปนี้ชี้แจงได้: mysql> CREATE TABLE enmtest(Val ENUM(0,1,2)); Query OK, 0 rows affected (0.18 se

  11. วิธีแทรกค่าเริ่มต้นในชนิดข้อมูล ENUM ของ MySQL

    เราสามารถทำได้ด้วยแอตทริบิวต์ DEFAULT ของชนิดข้อมูล ENUM แอตทริบิวต์ DEFAULT ทำให้ ENUM มีค่าเริ่มต้นเมื่อไม่ระบุค่า กล่าวคือ คำสั่ง INSERT ไม่ต้องรวมค่าสำหรับฟิลด์นี้ เพราะหากไม่รวม ค่าที่อยู่หลัง DEFAULT จะถูกแทรก ฟังก์ชันไม่ได้รับอนุญาตในนิพจน์ DEFAULT สำหรับ ENUM ค่า DEFAULT ที่อนุญาตคือ NULL แล

  12. ผลลัพธ์ของ MySQL EXPORT_SET() เมื่อข้ามอาร์กิวเมนต์ที่ 5 (จำนวนบิต)

    ค่าเริ่มต้นของอาร์กิวเมนต์ที่ 5 (จำนวนบิต) คือ 64 ดังนั้น หากไม่ระบุค่าในอาร์กิวเมนต์ที่ 5 MySQL จะตรวจสอบบิตสูงสุด 64 บิตและสร้างผลลัพธ์ สามารถเข้าใจได้จากตัวอย่างต่อไปนี้: ตัวอย่าง mysql> SELECT EXPORT_SET(5, Y, N, )\G *************************** 1. row *************************** EXPORT_SET(5

  13. ข้อจำกัดของ MySQL ENUMs มีอะไรบ้าง

    ข้อจำกัดของ MySQL ENUMs มีดังนี้: 1. ค่า ENUM ไม่สามารถเป็นนิพจน์ (expression) ได้ ไม่สามารถใช้นิพจน์เป็นสมาชิกการแจงนับได้ แม้จะคำนวณได้เป็นสตริง ตัวอย่าง ตัวอย่างเช่น ใช้ฟังก์ชัน CONCAT ซึ่งคำนวณได้เป็นสตริง คิวรีต่อไปนี้จะไม่ทำงาน: mysql> CREATE TABLE limit_enum(number ENUM(one, two, CONCAT(t,

  14. ผลลัพธ์ของ MySQL EXPORT_SET() เมื่อข้ามอาร์กิวเมนต์ที่ 4 และ 5

    เนื่องจากค่าเริ่มต้นของอาร์กิวเมนต์ที่ 5 (จำนวนบิต) คือ 64 ดังนั้น หากไม่ระบุค่าในอาร์กิวเมนต์ที่ 5 MySQL จะตรวจสอบบิตสูงสุด 64 บิตและสร้างผลลัพธ์ ส่วนการข้ามอาร์กิวเมนต์ที่ 4 (ตัวคั่น) MySQL จะใช้เครื่องหมายจุลภาค (,) เป็นตัวคั่นในการแสดงผล ตัวอย่าง mysql> SELECT EXPORT_SET(8, Y, N)\G **********

  15. MySQL จัดการค่าว่างและ NULL สำหรับ ENUM อย่างไร

    MySQL ยอมรับค่าว่างสำหรับการแจงนับ (ENUM) ก็ต่อเมื่อโหมด SQL ไม่ได้ตั้งค่าเป็น TRADITIONAL, STRICT_TRANS_TABLES หรือ STRICT_ALL_TABLES มิฉะนั้น MySQL จะไม่ยอมรับค่าว่างและโยนข้อผิดพลาด เนื่องจากแต่ละค่า ENUM มีค่าดัชนี ค่าว่างจะมีค่าดัชนีเป็น 0 ตัวอย่าง mysql> SET SQL_MODE = Traditional; Query OK

  16. MySQL คืนค่าอะไรเมื่อแทรกค่าไม่ถูกต้องลงใน ENUM

    หากโหมด SQL สтриงค์ (strict SQL mode) ปิดอยู่ และเราแทรกค่าที่ไม่ถูกต้อง (ซึ่งไม่อยู่ในรายการค่าที่อนุญาตของ ENUM) ลงใน ENUM แล้ว MySQL จะแทรกสตริงว่างแทนการโยนข้อผิดพลาด แต่หากโหมด SQL สтриงค์เปิดอยู่ MySQL จะโยนข้อผิดพลาดเมื่อแทรกค่าไม่ถูกต้อง ตัวอย่าง หลังจากปิดโหมด SQL สтриงค์ เราแทรกสตริงที่ไม่

  17. ผลกระทบต่อผลลัพธ์ MySQL เมื่อมี NULL ผสมในรายการอาร์กิวเมนต์ของ FIELD()

    จะมีการเปลี่ยนแปลงอย่างมีนัยสำคัญในผลลัพธ์ หากมีการผสม NULL และค่าอื่นๆ ในรายการสตริงที่ส่งเป็นอาร์กิวเมนต์ในฟังก์ชัน FIELD() ตัวอย่างต่อไปนี้จะสาธิต: ตัวอย่าง mysql> SELECT FIELD(good, Ram, is, good, boy); +---------------------------------------+ | FIELD(good, Ram, is, good, boy) | +-----------

  18. ประโยชน์ของฟังก์ชัน FIND_IN_SET() ใน MySQL

    ฟังก์ชัน FIND_IN_SET() ใช้ค้นหาสตริงที่ระบุจากรายการสตริง โดยพื้นฐานแล้วคืนค่าตำแหน่งของสตริง หากมีอยู่ (เป็น substring) ภายในรายการสตริง ไวยากรณ์ FIND_IN_SET(Search_String, string_list) โดยที่ Search_String คือสตริงที่ต้องการค้นหา และ string_list คือสตริงที่มี substring คั่นด้วยเครื่องหมายจุลภาค ตั

  19. วิธีใช้ FIND_IN_SET() ร่วมกับ WHERE clause ใน MySQL

    เมื่อใช้ FIND_IN_SET() ใน WHERE clause ฟังก์ชันจะค้นหาสตริงค้นหาภายในสตริงที่ระบุในอาร์กิวเมนต์ และดึงคอลัมน์ทั้งหมดจากแถวที่เกี่ยวข้อง ตัวอย่างต่อไปนี้สาธิตแนวคิดนี้: ตัวอย่าง ในตัวอย่างนี้ เราดึงคอลัมน์จากตาราง Student โดยที่แถวมีค่า name เป็น Gaurav ฟังก์ชัน FIND_IN_SET() จะค้นหาสตริง Gaurav จากค

  20. เมื่อไรที่ MySQL FIND_IN_SET() คืนค่า NULL

    ฟังก์ชัน FIND_IN_SET() คืนค่า NULL หากอาร์กิวเมนต์ใดเป็น NULL ไม่ว่าจะเป็นสตริงค้นหาหรือรายการสตริง ทั่วไปแล้ว จะคืน NULL ด้วยหากทั้งสองอาร์กิวเมนต์เป็น NULL ตัวอย่าง mysql> SELECT FIND_IN_SET(NULL, Ram is a good boy) AS Result; +--------+ | Result | +--------+ | NULL | +--------+ 1 row in set

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:213/229  20-คอมพิวเตอร์/Page Goto:1 207 208 209 210 211 212 213 214 215 216 217 218 219