Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. MySQL คืนค่าอะไรเมื่อใช้ UNIX_TIMESTAMP() โดยไม่มีอาร์กิวเมนต์

    ในกรณีนี้ MySQL จะคืนค่า Unix timestamp ของวันที่และเวลาปัจจุบัน ดังนั้นการไม่ระบุอาร์กิวเมนต์เทียบเท่ากับการใช้ NOW() เป็นอาร์กิวเมนต์ของ UNIX_TIMESTAMP() ตัวอย่าง: รันคำสั่ง UNIX_TIMESTAMP() โดยไม่มีค่า และพร้อม NOW() จะได้ผลลัพธ์เหมือนกัน mysql> SELECT UNIX_TIMESTAMP(); +------------------+ |

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

    ฟังก์ชัน FROM_UNIXTIME() ใช้สำหรับคืนค่าวันที่/วันเวลา (date/datetime) จากค่า Unix timestamp รูปแบบค่าที่คืนจะเป็น YYYY-MM-DD HH:MM:SS หรือ YYYYMMDDHHMMSS.uuuuuu ขึ้นอยู่กับบริบทของฟังก์ชัน (ว่าบริบทเป็นตัวเลขหรือสตริง) รูปแบบคำสั่ง (Syntax): FROM_UNIXTIME(unix_timestamp, [format]) unix_timestamp คื

  3. วิธีใช้ FROM_UNIXTIME() พร้อมสตริงรูปแบบ (format string) ใน MySQL

    หากต้องการผลลัพธ์ของ FROM_UNIXTIME() ในรูปแบบเฉพาะ สามารถใช้สตริงรูปแบบวันที่ (date format string) หรือเวลา (time format string) หรือทั้งคู่ ตัวอย่างการใช้งาน: mysql> SELECT FROM_UNIXTIME(1555033470, %Y %M %D) AS Formatted Output; +------------------+ | Formatted Output | +------------------+ | 2

  4. ความสำคัญของการใช้หลายคอลัมน์ใน GROUP BY ของ MySQL

    การระบุหลายคอลัมน์ใน GROUP BY จะแบ่งชุดผลลัพธ์เป็นกลุ่มย่อยได้มากขึ้น ยิ่งระบุคอลัมน์มากเท่าไหร่ กลุ่มก็จะยิ่งเล็กลง ตัวอย่าง mysql> SELECT designation, YEAR(Doj), COUNT(*) FROM employees GROUP BY designation, YEAR(DoJ); +-------------+-----------+----------+ | designation | YEAR(Doj) | COUNT(*)

  5. เกิดอะไรขึ้นถ้าผลลัพธ์ของ TIMEDIFF() ใน MySQL เกินช่วงค่าของฟิลด์ TIME

    ช่วงค่าของฟิลด์ TIME ใน MySQL คือ -838:59:59 ถึง 838:59:59 หากผลลัพธ์ของฟังก์ชัน TIMEDIFF() เกินช่วงนี้ MySQL จะคืนค่า -838:59:59 หรือ 838:59:59 ขึ้นอยู่กับค่าของอาร์กิวเมนต์ ตัวอย่าง mysql> SELECT TIMEDIFF(2017-09-01 03:05:45,2017-10-22 03:05:45) AS Out of Range TIME Difference; +-------

  6. การใช้ฟังก์ชันกลุ่ม (Group Functions) ในคำสั่ง SELECT ของ MySQL

    เนื่องจากฟังก์ชันกลุ่มทำงานบนชุดของค่า หากใช้ในคำสั่ง SELECT จะทำงานบนแถวที่ตรงตามเงื่อนไขการค้นหา และคืนค่าผลลัพธ์ของฟังก์ชันกลุ่มเป็นผลลัพธ์ของคำสั่ง ตัวอย่าง ตัวอย่างด้านล่างใช้ฟังก์ชันกลุ่มบนฟิลด์ของตาราง Student: mysql> SELECT COUNT(Name), MIN(Id), AVG(Id), MAX(Id), COUNT(*) FROM Student; +-

  7. ความแตกต่างระหว่าง UNIX TIMESTAMPS และ MySQL TIMESTAMPS

    ใน MySQL UNIX TIMESTAMPS ถูกเก็บเป็นจำนวนเต็ม 32 บิต (32-bit integers) ส่วน MySQL TIMESTAMPS ก็ถูกเก็บในรูปแบบคล้ายกัน แต่แสดงในรูปแบบที่อ่านง่ายคือ YYYY-MM-DD HH:MM:SS ตัวอย่าง mysql> SELECT UNIX_TIMESTAMP(2017-09-25 02:05:45) AS UNIXTIMESTAMP VALUE; +---------------------+ | UNIXTIMESTAMP VALUE

  8. วิธีใช้ฟังก์ชันกลุ่มกับฟิลด์ที่ไม่ได้จัดกลุ่มในคำสั่ง SELECT ของ MySQL

    ต้องใช้ GROUP BY หากต้องการใช้ฟังก์ชันกลุ่มกับฟิลด์ที่ไม่ได้จัดกลุ่มในคำสั่ง SELECT รูปแบบทั่วไปคือ: รูปแบบคำสั่ง (Syntax) SELECT group_function1, ..., non_group_column1, ... FROM table_name GROUP BY column_name; ตัวอย่าง mysql> SELECT COUNT(*), id FROM Student GROUP BY id; +----------+------+ |

  9. ใน MySQL แสดงค่าเวลาเป็นจำนวนเต็มได้อย่างไร

    ใน MySQL รูปแบบ UNIX timestamp คือวิธีแสดงค่าเวลาเป็นจำนวนเต็ม ค่าจำนวนเต็มสำหรับวันที่จะเป็นจำนวนวินาที นับตั้งแต่วันที่เริ่มต้น 1970-01-01 mysql> SELECT UNIX_TIMESTAMP(2017-10-22 04:05:36) AS Total Number of Seconds; +-------------------------+ | Total Number of Seconds | +---------------------

  10. MySQL คืนค่าอะไรเมื่อเพิ่มไมโครวินาทีใน timestamp ก่อนแปลงเป็นจำนวนเต็ม

    ตามที่รู้กันว่าค่า timestamp สามารถแปลงเป็นจำนวนวินาทีได้ด้วยฟังก์ชัน UNIX_TIMESTAMP() MySQL จะ ละเลยไมโครวินาที ที่เพิ่มเข้าไปในค่า timestamp เนื่องจากค่า UNIX_TIMESTAMP มีความยาวเพียง 10 หลักเท่านั้น ตัวอย่าง mysql> SELECT UNIX_TIMESTAMP(2017-10-22 04:05:36) AS Total Number of Seconds; +-------

  11. วิธีที่ถูกต้องในการดึงค่าที่เก็บในคอลัมน์ INT เป็น MySQL TIMESTAMP

    สามารถใช้ฟังก์ชัน FROM_UNIXTIME() เพื่อดึงค่าที่เก็บเป็นจำนวนเต็ม (INT) ในคอลัมน์ของตาราง ให้กลายเป็นรูปแบบ MySQL TIMESTAMP เช่น เรามีตารางชื่อ test123 ซึ่งมีคอลัมน์ชื่อ val1 เก็บค่าจำนวนเต็มดังนี้: mysql> SELECT * FROM test123; +------------+ | val1 | +------------+ | 150862 | | 150862

  12. MySQL คืนค่าอะไรเมื่อส่งค่าที่อยู่นอกช่วง (out-of-range) ให้ UNIX_TIMESTAMP() หรือ FROM_UNIXTIME()

    เมื่อส่งค่าที่อยู่นอกช่วงให้ UNIX_TIMESTAMP MySQL จะคืนค่า 0 ช่วงค่าที่ถูกต้องเท่ากับชนิดข้อมูล TIMESTAMP ตัวอย่าง mysql> SELECT UNIX_TIMESTAMP(1969-01-01 04:05:45); +---------------------------------------+ | UNIX_TIMESTAMP(1969-01-01 04:05:45) | +---------------------------------------+ | 0

  13. ทำไมไม่ควรใช้ฟังก์ชันกลุ่มกับฟิลด์ที่ไม่ได้จัดกลุ่มโดยไม่มี GROUP BY ใน MySQL

    เพราะหากไม่มี GROUP BY ผลลัพธ์ที่ MySQL คืนอาจทำให้เข้าใจผิด เราจะใช้ตาราง Student ด้านล่างเป็นตัวอย่าง: mysql> SELECT * FROM Student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers

  14. ใช้ COUNT(*) และ GROUP BY หาจำนวนครั้งที่ค่าซ้ำในคอลัมน์

    สามารถใช้ COUNT(*) ร่วมกับ GROUP BY เพื่อหาจำนวนครั้งที่ค่าแต่ละค่าซ้ำกันในคอลัมน์ ตัวอย่างด้านล่างใช้กับคอลัมน์ Name ของตาราง Student: mysql> SELECT COUNT(*), name FROM student GROUP BY name; +----------+---------+ | COUNT(*) | name | +----------+---------+ | 1 | Aarav | | 2 |

  15. วิธีจัดเรียงผลลัพธ์ MySQL ให้เป็นลำดับจากน้อยไปมาก (Ascending)

    ต้องระบุคำสั่ง ASC (ย่อมาจาก ASCENDING) ในเงื่อนไข ORDER BY หากต้องการจัดเรียงชุดผลลัพธ์จากน้อยไปมาก รูปแบบคำสั่ง (Syntax) SELECT column1, column2, ..., columnN FROM table_name ORDER BY column1 [, column2, ...] ASC; ตัวอย่าง ตัวอย่างต่อไปนี้จัดเรียงชุดผลลัพธ์ตามคอลัมน์ Name จากน้อยไปมาก: mysql> S

  16. MySQL คืนค่าอะไรเมื่อระบุค่าเดียวในชุดหน่วย INTERVAL แบบประกอบ

    ในกรณีนี้ MySQL จะพิจารณาหน่วยที่อยู่ทางขวาสุดในหน่วย INTERVAL แบบประกอบ (compound INTERVAL unit) และคืนค่าผลลัพธ์หลังจากคำนวณช่วงเวลา (interval) ตามค่าเดี่ยวที่ให้มาในชุดหน่วย ตัวอย่างต่อไปนี้จะช่วยอธิบายให้เข้าใจง่ายขึ้น: mysql> SELECT TIMESTAMP(2017-10-22 04:05:36 + INTERVAL 2 YEAR_MONTH) AS O

  17. MySQL ส่งคืนอะไรเมื่อใช้ชุดค่า (Enclosed Set) กับ INTERVAL?

    หากให้ชุดค่า 2 ค่าใน single quotes เช่น INTERVAL 4 2 HOUR MySQL จะ **ใช้ค่าแรกอย่างเดียว** คืนคำเตือน และคำนวณต่อ: mysql> SELECT TIMESTAMP(2017-10-22 04:05:36 + INTERVAL 4 2 HOUR) AS HOUR VALUE INCREASED BY 4; +---------------------------+ | HOUR VALUE INCREASED BY 4 | +--------------------------

  18. MySQL ส่งคืนอะไรเมื่อส่งวันที่-เวลา (Datetime) ให้ DATEDIFF()?

    DATEDIFF() **ข้ามส่วนเวลา** คำนวณเฉพาะความต่างของวันที่: mysql> SELECT DATEDIFF(2018-10-22 04:05:36, 2017-10-22 03:05:45); +-------------------------------------------------------+ | DATEDIFF(2018-10-22 04:05:36, 2017-10-22 03:05:45) | +-------------------------------------------------------+ | 3

  19. วิธีใช้ SELECT นับจำนวนแถวในตาราง MySQL

    ใช้ฟังก์ชัน COUNT(*) ร่วมกับ SELECT: นับทั้งตาราง mysql> SELECT COUNT(*) FROM Student; +----------+ | COUNT(*) | +----------+ | 4 | +----------+ นับด้วยเงื่อนไข WHERE mysql> SELECT COUNT(*) FROM Student WHERE Address = Delhi; +----------+ | COUNT(*) | +----------+ | 2 | +--------

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:219/229  20-คอมพิวเตอร์/Page Goto:1 213 214 215 216 217 218 219 220 221 222 223 224 225