Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. Query หาแถวเงินเดือนสูงสุดและต่ำสุดใน MySQL ด้วย Subquery และ UNION ALL

    หาแถวที่มี Salary Min และ Max พร้อมกัน ใช้ Subquery หา MIN/MAX แล้ว UNION ALL รวมผลลัพธ์ (UNION จะ DISTINCT อาจลบแถวซ้ำถ้า Min=Max) สร้างตารางและข้อมูล (Bob, 8800), (Chris, 9800), (David, 7600), (Sam, 9600); Query OK, 4 rows affected ข้อมูลทั้งหมด +--------------+----------------+ | EmployeeName

  2. เรียงลำดับ IP Address ใน MySQL ด้วย INET_ATON()

    จัดเรียง IP Address ให้ถูกต้องตามค่าตัวเลขด้วย INET_ATON() IP Address เป็น String การ ORDER BY ip ASC แบบ String จะได้ลำดับผิด (เช่น 192.168.1.100 < 192.168.1.2 เพราะ 1 < 2) ใช้ INET_ATON() แปลง IPv4 เป็น Unsigned Integer แล้ว ORDER BY สร้างตารางและข้อมูล (192.168.110.78), (192.168.110.87), (192.1

  3. เลือกค่าเท่ากับหรือมากกว่าที่ใกล้ที่สุดจากตาราง MySQL (Nearest Greater or Equal)

    = Target และมีค่าน้อยที่สุด (Ceiling Value) ใช้ ORDER BY ABS(Value - Target), Value แล้ว LIMIT 1 เพื่อหาค่าที่ใกล้ Target มากที่สุด (ถ้าเท่ากัน ให้ค่าที่มากกว่า) สร้างตารางและข้อมูล INSERT INTO DemoTable VALUES(25), (75), (100); Query OK, 3 rows affected = 50 ที่น้อยที่สุด (Nearest Greater or Equ

  4. ใช้ LIKE หลายเงื่อนไขใน MySQL Query เดียว (Multiple LIKE Operators)

    รวมหลายเงื่อนไข LIKE ใน WHERE Clause เดียว ใช้ Parentheses จัดกลุ่มเงื่อนไข OR/AND ร่วมกับ LIKE ได้หลายคอลัมน์ พร้อมใช้ Wildcard % และ _ สร้างตารางและข้อมูล (Carol Taylor, 36, UK); Query OK, 5 rows affected ข้อมูลทั้งหมด +----------+--------------+-----------+-------------------+ | ClientId | Cli

  5. UPDATE MySQL ลบ Underscore ท้ายสตริงด้วย TRIM(TRAILING)

    ลบอักขระเฉพาะที่ท้ายสตริง: TRIM(TRAILING char FROM column) ฟังก์ชัน TRIM() รองรับการระบุ LEADING (หน้า), TRAILING (ท้าย), BOTH (ทั้งสองข้าง) พร้อมระบุอักขระที่ต้องการลบ ไวยากรณ์ UPDATE table_name SET column_name = TRIM(TRAILING _ FROM column_name); สร้างตารางและข้อมูล (มี Underscore ท้าย) INSERT

  6. SUM ค่าตามวันที่ซ้ำใน MySQL: GROUP BY Date และ SUM

    รวมยอดตามวันที่: GROUP BY Date + SUM() จัดกลุ่มแถวที่มี ProductPurchaseDate เดียวกัน แล้ว SUM(NumberOfProduct) เพื่อหายอดรวมต่อวัน สร้างตารางและข้อมูล (2019-03-01, 56), (2018-01-21, 97), (2019-01-21, 47); Query OK, 6 rows affected ข้อมูลก่อนจัดกลุ่ม +---------------------+-----------------+ | Pro

  7. Match ค่าอาเรย์ใน MySQL Query ด้วย IN() และ GROUP BY HAVING

    หา Id ที่มี Value ครบทุกค่าใน Array ที่กำหนด ใช้ WHERE Value IN (...) กรองแถวที่ Match แล้ว GROUP BY Id HAVING COUNT(*) = N โดย N = จำนวนค่าใน Array เพื่อให้แน่ใจว่าครบทุกค่า สร้างตารางและข้อมูล (1, 56), (2, 78), (1, 34), (2, 45), (1, 99); Query OK, 5 rows affected ข้อมูลทั้งหมด +------+-------+

  8. นับจำนวนคอลัมน์ในตาราง MySQL ด้วย Java (ResultSetMetaData)

    ใช้ ResultSetMetaData ใน Java ดึงข้อมูลเมตาของ ResultSet ResultSetMetaData ให้ข้อมูลเกี่ยวกับคอลัมน์ของ ResultSet: จำนวนคอลัมน์, ชื่อ, ชนิดข้อมูล, ความแม่นยำ, เป็นต้น สร้างตารางตัวอย่าง ); Query OK, 0 rows affected (0.58 sec) โค้ด Java 完整 (JDBC) import java.sql.Connection; import java.sql.DriverM

  9. ดึงค่าสุดท้ายจาก Comma-Separated String ใน MySQL ด้วย SUBSTRING_INDEX

    SUBSTRING_INDEX: ดึงส่วนท้ายหลัง Delimiter สุดท้าย ฟังก์ชัน SUBSTRING_INDEX(str, delim, count) เมื่อ count < 0 จะคืน substring หลัง Delimiter ตัวที่ |count| นับจากขวา → ใช้ดึงค่าสุดท้ายของ CSV ได้ สร้างตารางและข้อมูล (Comma-Separated Values) (MongoDB,C), (Java,C++,MySQL), (Python,C++,C,Java); Quer

  10. จัดกลุ่มแถว MySQL เป็น Array/CSV ด้วย GROUP_CONCAT และ ORDER BY

    GROUP_CONCAT: รวมค่าจากหลายแถวในกลุ่มเดียวเป็นสตริง CSV ใช้ GROUP_CONCAT() ร่วมกับ GROUP BY เพื่อรวม FirstName ของ Id เดียวกันเป็นสตริง คั่นด้วย Comma สร้างตารางและข้อมูล (Id ซ้ำ) (101, John), (102, Bob), (101, David), (101, Adam), (102, Chris); Query OK, 5 rows affected ข้อมูลก่อนจัดกลุ่ม +-----

  11. SELECT วันที่จาก MySQL และจัดรูปแบบเป็นข้อความด้วย DATE_FORMAT

    แปลง DATE เป็นข้อความตามรูปแบบที่ต้องการด้วย DATE_FORMAT ใช้ DATE_FORMAT(date, format) เพื่อแปลงคอลัมน์ DATE/DATETIME ให้เป็น String ตาม Format Specifiers สร้างตารางและข้อมูล INSERT INTO DemoTable VALUES(2019-01-11), (2019-12-21), (2019-09-15); Query OK, 3 rows affected ข้อมูลต้นฉบับ (DATE Format

  12. ORDER BY: 3 เดือนล่าสุดก่อน แล้วค่อยเรียง A-Z ใน MySQL

    เรียงลำดับแบบผสม: ใกล้ปัจจุบันก่อน (3 เดือน) แล้วค่อย A-Z ใช้ Boolean Expression ใน ORDER BY: CURDATE() - INTERVAL 3 MONTH คืนค่า 1 (TRUE) หรือ 0 (FALSE) เรียง DESC จะได้ TRUE (1) ก่อน → 3 เดือนล่าสุดอยู่บน สร้างตารางและข้อมูล (วันที่ 2019) (David, 2019-10-10), (Bob, 2019-12-31); Query OK, 5 rows

  13. แสดงเฉพาะชั่วโมงและนาทีใน MySQL ด้วย DATE_FORMAT

    จัดรูปแบบวันที่/เวลา: แสดงเฉพาะ HH:MM ด้วย DATE_FORMAT ฟังก์ชัน DATE_FORMAT(date, format) จัดรูปแบบ Date/Time ตาม Format Specifiers ที่กำหนด Format Specifiers สำหรับเวลา Specifierความหมายตัวอย่าง %Hชั่วโมง (00-23)12 %hชั่วโมง (01-12)12 %iนาที (00-59)34 %sวินาที (00-59)45 %pAM/PMPM %Tเวลา 24 ชม. (H

  14. INSERT ข้อมูลที่มี Double Quotes ใน MySQL (Escape ด้วย Backslash)

    จัดเก็บ Double Quotes ตรงตัวใน MySQL: Escape ด้วย Backslash ใน String Literal ของ MySQL (อยู่ใน Single Quotes) ให้ Escape Double Quotes ด้วย \\\ ไวยากรณ์ INSERT INTO your_table VALUES(\\your_value\\); สร้างตารางและข้อมูล INSERT INTO DemoTable VALUES(\\John\\), (\\Chris\\), (\\Adam Smith\\), (\\Ca

  15. แสดงค่าตัวแปร User-Defined Variable ใน Result Set ของ MySQL

    User-Defined Variables (@var) และ CONCAT_WS ใน SELECT MySQL รองรับ User-Defined Variables เริ่มต้นด้วย @ สามารถกำหนดค่าและใช้ใน Query เดียวกันได้ ใช้ CONCAT_WS() รวมสตริงด้วย Separator (ข้าม NULL อัตโนมัติ) สร้างตารางและข้อมูล (Chris, Brown), (David, Miller), (John, Doe); Query OK, 3 rows affected

  16. อัปเดต DATETIME ใน MySQL: เพิ่ม 10 ปี 3 เดือน 22 วัน 10 ชั่วโมง 30 นาที

    ใช้ INTERVAL Arithmetic บวกช่วงเวลากับ DATETIME MySQL รองรับการบวก/ลบ INTERVAL กับ DATE, DATETIME, TIMESTAMP โดยตรง สามารถรวมหลายหน่วยเวลาได้ สร้างตารางและข้อมูล (2015-12-12 05:45:20); Query OK, 3 rows affected ข้อมูลก่อนอัปเดต +---------------------+ | ArrivalTime | +--------------------

  17. นับจำนวน Comma ในคอลัมน์ MySQL ด้วย LENGTH และ REPLACE

    นับอักขระเฉพาะ (Comma) ในสตริง: สูตร LENGTH - LENGTH(REPLACE) หลักการ: ความยาวเดิม - ความยาวหลังลบ Comma ออก = จำนวน Comma ไวยากรณ์ SELECT LENGTH(column) - LENGTH(REPLACE(column, ,, )) AS comma_count FROM table; สร้างตารางและข้อมูล (20,35), (45,67,89), (90,97,101,190); Query OK, 3 rows affected

  18. ป้องกัน GROUP BY รวมค่า NULL เป็นกลุ่มเดียวใน MySQL ด้วย IFNULL

    ปัญหา: GROUP BY รวม NULL ทั้งหมดเป็นกลุ่มเดียว พฤติกรรมมาตรฐานของ SQL: GROUP BY column จะรวมค่า NULL ทั้งหมดเป็นกลุ่มเดียว เพราะ NULL = NULL เป็น UNKNOWN (ไม่ใช่ TRUE) แต่ GROUP BY จัดว่า เท่ากัน สำหรับการจัดกลุ่ม สร้างตารางและข้อมูล (มี NULL 2 แถว) (John), (Robert), (Mike), (Robert), (NULL), (NUL

  19. ตรวจสอบว่า ON DUPLICATE KEY UPDATE ทำงานหรือไม่ใน MySQL ด้วย ROW_COUNT()

    ROW_COUNT(): ตรวจสอบจำนวนแถวที่ได้รับผลกระทบจากคำสั่งล่าสุด หลังรัน INSERT ... ON DUPLICATE KEY UPDATE ใช้ ROW_COUNT() เพื่อทราบว่าเป็น Insert ใหม่ (1) หรือ Update existing (2) ค่าที่ ROW_COUNT() คืน สถานการณ์ROW_COUNT()ความหมาย INSERT ใหม่ (ไม่มี Duplicate Key)1Insert 1 row Duplicate Key → UPDATE

  20. ควรระบุคอลัมน์ที่เป็น NULL ใน INSERT MySQL หรือไม่?

    INSERT โดยไม่ระบุลำดับคอลัมน์: ต้องส่งค่าครบทุกคอลัมน์ (รวม NULL) หากไม่ระบุชื่อคอลัมน์ใน INSERT INTO table VALUES(...) ต้องส่งค่าครบทุกคอลัมน์ตามลำดับที่สร้างตาราง ใช้ NULL สำหรับคอลัมน์ที่ไม่มีค่า สร้างตาราง (4 คอลัมน์) ); Query OK, 0 rows affected (0.58 sec) INSERT โดยไม่ระบุชื่อคอลัมน์ (ส่งค่

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:39/229  20-คอมพิวเตอร์/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45