Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. การคำนวณจำนวนวันระหว่างสองคอลัมน์วันที่ใน MySQL ด้วย DATEDIFF

    เมื่อมีสองคอลัมน์วันที่ในแถวเดียวกัน (เช่น วันที่เข้า-ออกงาน, วันที่สั่ง-ส่ง) สามารถคำนวณความต่างวันได้โดยใช้ DATEDIFF(end_date, start_date) โดยตรงใน SELECT ตัวอย่างการใช้งาน สร้างตารางพนักงาน (เข้า-ออกงาน): ); เพิ่มข้อมูล: INSERT INTO DemoTable1471 VALUES (2015-12-31, 2016-03-01); ดูข้อมูล:

  2. การแปลง CHAR เป็น DATETIME ใน MySQL ด้วย STR_TO_DATE และ REPLACE

    เมื่อมีข้อมูลวันที่-เวลาเก็บในคอลัมน์ CHAR/VARCHAR รูปแบบไม่มาตรฐาน (เช่น 12/31/2017 10:50 ใช้ Slash คั่น) ต้องแปลงรูปแบบก่อนจึงจะใช้ STR_TO_DATE() ได้ ใช้ REPLACE() แทนตัวคั่นให้ตรงกับ Format Specifier ตัวอย่างการใช้งาน สร้างตารางวันที่เป็น CHAR: CREATE TABLE DemoTable1472 (ShippingDate CHAR(35)

  3. การค้นหาค่าระหว่างช่วงใน MySQL ด้วย BETWEEN บนคอลัมน์ VARCHAR

    คำสั่ง BETWEEN ใน MySQL ทำงานกับชนิดข้อมูล VARCHAR ได้โดยเปรียบเทียบตามลำดับ Lexicographical (ตัวอักษร) ซึ่งใช้ได้กับรหัสที่มีรูปแบบคงที่ (เช่น EMP_001, EMP_002) เพื่อค้นหาช่วงรหัส ตัวอย่างการใช้งาน สร้างตารางรหัสพนักงาน: CREATE TABLE DemoTable1473 (EmployeeCode VARCHAR(20)); เพิ่มข้อมูล: INSER

  4. การ SELECT จากสองตารางใน MySQL ด้วย Cross Join (Cartesian Product)

    ใน MySQL สามารถ SELECT จากสองตารางพร้อมกันได้โดยระบุชื่อตารางคั่นด้วย Comma (FROM table1, table2) ซึ่งจะสร้าง Cartesian Product (Cross Join) คือ ทุกแถวของตาราง 1 จับคู่กับทุกแถวของตาราง 2 ตัวอย่างการใช้งาน สร้างตาราง 1 (มี 3 แถว): INSERT INTO DemoTable1 VALUES (), (), (); สร้างตาราง 2 (มี 3 แถว)

  5. การแปลง Timestamp เป็นเดือนใน MySQL ด้วย FROM_UNIXTIME

    เมื่อเก็บวันที่เป็น Unix Timestamp (จำนวนวินาทีจาก 1970-01-01 UTC) ในคอลัมน์ BIGINT/INT สามารถแปลงเป็นวันที่/เวลา แล้วดึงส่วนเดือนได้ด้วยฟังก์ชัน FROM_UNIXTIME() และ MONTH() ตัวอย่างการใช้งาน สร้างตารางเก็บ Timestamp: CREATE TABLE DemoTable1457 (Value BIGINT); เพิ่มข้อมูล Timestamp: INSERT INTO

  6. การข้ามค่า NULL และแสดงเฉพาะค่าที่มีข้อมูลใน MySQL

    เมื่อต้องการดึงเฉพาะแถวที่คอลัมน์มีค่า (ไม่เป็น NULL) ใช้เงื่อนไข IS NOT NULL ใน WHERE Clause ซึ่งเป็นวิธีมาตรฐานและถูกต้องที่สุดสำหรับการเช็ค NULL ตัวอย่างการใช้งาน สร้างตารางคะแนนนักเรียน (มี NULL): ); เพิ่มข้อมูล: INSERT INTO DemoTable1458 VALUES (Adam Smith, NULL); ดูข้อมูลทั้งหมด: SELECT

  7. การใช้ UNION ALL เพิ่มข้อมูลในสองตารางด้วยคำสั่งเดียวใน MySQL

    UNION ALL รวมผลลัพธ์จากหลาย SELECT เข้าด้วยกัน (ไม่ลบ Duplicate) สามารถนำไปใช้กับ INSERT ... SELECT เพื่อเพิ่มข้อมูลลงหลายตาราง หรือเพิ่มหลายชุดข้อมูลลงตารางเดียวในคำสั่งเดียว ตัวอย่าง: Insert ลงสองตารางจาก SELECT เดียว สร้างตาราง 1 (รายละเอียด): ); สร้างตาราง 2 (เฉพาะชื่อ): CREATE TABLE DemoTa

  8. การเพิ่ม Constraint สำหรับ ON DUPLICATE KEY UPDATE ใน MySQL

    คำสั่ง INSERT ... ON DUPLICATE KEY UPDATE ต้องการให้มี Unique Constraint (Primary Key หรือ Unique Index) บนคอลัมน์ที่ตรวจสอบ Duplicate เพื่อทราบว่าระเบียน ซ้ำ ตามคีย์ไหน จึงจะ Update แทน Insert ตัวอย่างการใช้งาน สร้างตาราง: CREATE TABLE DemoTable1459 (Name VARCHAR(20), Score INT); เพิ่ม Unique C

  9. ค้นหาแบบ Case-Insensitive ด้วย IN() ใน MySQL ใช้ UPPER()/LOWER()

    ภาพรวม MySQL Default Collation เป็น Case-Insensitive (ci) แล้ว แต่หากต้องการบังคับหรือใช้กับ Binary Collation ให้ใช้ UPPER() หรือ LOWER() ทั้งคอลัมน์และค่าใน IN() ตัวอย่างสมบูรณ์ 1. สร้างตารางและข้อมูล CREATE TABLE DemoTable1460 (Name VARCHAR(20)); INSERT INTO DemoTable1460 VALUES (Chris); INSERT

  10. การหาขนาดสตริงของคอลัมน์เฉพาะและรวมกันใน MySQL

    เมื่อต้องการหาความยาว (จำนวนตัวอักษร) ของคอลัมน์ข้อความ และรวมกันทั้งกลุ่ม ใช้ฟังก์ชัน CHAR_LENGTH() (นับตัวอักษร) ร่วมกับ SUM() และ WHERE ... IN เพื่อกรองเงื่อนไข ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล: INSERT INTO DemoTable1612 VALUES (David, Brown), (John, Smith), (Bob, Taylor); ดูข้อมูล:

  11. การ ORDER BY คอลัมน์ ENUM ตามเงื่อนไขกำหนดเองใน MySQL

    คอลัมน์ ENUM ใน MySQL จะเรียงลำดับตามลำดับที่กำหนดใน Definition (Index 1,2,3...) ไม่ใช่ตามตัวอักษร หากต้องการเรียงตามลำดับที่กำหนดเอง (Custom Order) ใช้ ORDER BY CASE WHEN ตัวอย่างการใช้งาน สร้างตาราง ENUM บัตรไพ่ (ลำดับ Default: K, J, A, Q): ); เพิ่มข้อมูล: INSERT INTO DemoTable1461 VALUES (K)

  12. การคำนวณคณิตศาสตร์ใน MySQL กรณีมีค่า NULL และไม่เป็น NULL

    เมื่อทำการคำนวณคณิตศาสตร์ (บวก ลบ คูณ หาร) บนคอลัมน์ที่มีค่า NULL ผลลัพธ์จะเป็น NULL เสมอ (เพราะ NULL + Anything = NULL) ต้องใช้ IFNULL() หรือ COALESCE() แปลง NULL เป็น 0 (หรือค่าอื่น) ก่อนคำนวณ ตัวอย่างการใช้งาน สร้างตารางและเพิ่มข้อมูล (มี NULL): INSERT INTO DemoTable1462 VALUES (10, 20), (50,

  13. การต่อหลายแถวและหลายคอลัมน์เป็นแถวเดียวใน MySQL ด้วย GROUP_CONCAT

    เมื่อต้องการรวมข้อมูลจากหลายแถวและหลายคอลัมน์ให้กลายเป็นสตริงเดียวใน 1 แถว ใช้ GROUP_CONCAT() ร่วมกับ CONCAT() ซึ่งเป็นเทคนิค Pivot/String Aggregation ที่นิยมใน MySQL ตัวอย่างการใช้งาน สร้างตารางลูกค้า: ); เพิ่มข้อมูล (มี NULL ใน Age): INSERT INTO DemoTable1463 (ClientName, ClientAge) VALUES (J

  14. การใช้ DELETE ใน MySQL Stored Procedure พร้อม Parameter

    สามารถสร้าง Stored Procedure ที่รับ Parameter เข้ามา แล้วใช้ในคำสั่ง DELETE เพื่อลบข้อมูลตามเงื่อนไขที่กำหนดได้อย่างยืดหยุ่นและปลอดภัย ตัวอย่างการใช้งาน สร้างตาราง: ); เพิ่มข้อมูล: INSERT INTO DemoTable1464 VALUES (101, Chris Brown), (102, John Doe); ดูข้อมูล: SELECT * FROM DemoTable1464; +--

  15. การตรวจสอบว่าวันที่ปัจจุบันอยู่ในช่วงวันที่ที่กำหนดใน MySQL

    เมื่อต้องการเช็คว่าวันที่ปัจจุบัน (หรือวันที่ใดวันที่หนึ่ง) อยู่ในช่วงระหว่าง StartDate และ EndDate หรือไม่ ใช้เงื่อนไขเปรียบเทียบปกติ = StartDate AND date <= EndDate ซึ่งจะคืนค่า 1 (TRUE) หรือ 0 (FALSE) ตัวอย่างการใช้งาน สร้างตารางช่วงวันที่: ); เพิ่มข้อมูลช่วงวันที่ต่างๆ: INSERT INTO DemoTabl

  16. การหาค่าสูงสุด (MAX) จากระเบียนใน MySQL

    เมื่อต้องการหาระเบียนที่มีค่าสูงสุดในคอลัมน์ตัวเลข (เช่น คะแนนสูงสุด) ใช้ฟังก์ชัน MAX() ร่วมกับ Subquery หรือ JOIN ตัวอย่างการใช้งาน สร้างตารางคะแนนผู้เล่น: ); เพิ่มข้อมูล: INSERT INTO DemoTable1449 (PlayerScore) VALUES (1040), (1450), (1890), (1650); ดูข้อมูล: SELECT * FROM DemoTable1449; +-

  17. การแสดงวันที่ซ้ำเพียงครั้งเดียวใน MySQL ด้วย LIMIT

    เมื่อต้องการดึงระเบียนที่ตรงกับเงื่อนไขวันที่ (เช่น วันนี้) แต่มีข้อมูลซ้ำหลายแถว และต้องการแสดงเพียง 1 แถว ใช้ LIMIT 1 ท้ายคำสั่ง SELECT ตัวอย่างการใช้งาน สมมติวันนี้คือ 2019-10-02 สร้างตารางวันที่ครบกำหนด: CREATE TABLE DemoTable1450 (DueDate DATE); เพิ่มข้อมูล (มี 2019-10-02 ซ้ำ 3 ครั้ง): IN

  18. การอัปเดตคอลัมน์วันที่ (DATE) ใน MySQL ด้วย DATE_ADD

    เมื่อต้องการแก้ไขค่าคอลัมน์ชนิด DATE (หรือ DATETIME) โดยบวก/ลบช่วงเวลา ใช้ฟังก์ชัน DATE_ADD() หรือ DATE_SUB() ร่วมกับ INTERVAL ตัวอย่างการใช้งาน สร้างตารางวันที่เข้าทำงาน: CREATE TABLE DemoTable1451 (JoiningDate DATE); เพิ่มข้อมูล: INSERT INTO DemoTable1451 VALUES (2019-07-21), (2018-01-31), (2

  19. การนับหลายเงื่อนไขแสดงผลในหลายคอลัมน์แถวเดียว MySQL

    เมื่อต้องการนับจำนวนแถวตามเงื่อนไขหลายข้อพร้อมกัน และแสดงผลแต่ละเงื่อนไขในคอลัมน์แยกกัน (Pivot/Transpose) ใช้ SUM() ร่วมกับเงื่อนไข Boolean (MySQL แปลง TRUE=1, FALSE=0) ตัวอย่างการใช้งาน สร้างตารางสีที่ชอบ: CREATE TABLE DemoTable1452 (FavouriteColor VARCHAR(50)); เพิ่มข้อมูล: INSERT INTO DemoTa

  20. การนับ ID ซ้ำและแสดงผลในคอลัมน์แยกใน MySQL

    เมื่อต้องการนับจำนวนระเบียนที่มี ID ซ้ำกัน และแสดงจำนวนที่นับได้ในคอลัมน์แยกต่างหาก ใช้ GROUP BY ร่วมกับฟังก์ชัน COUNT() หรือ COUNT(DISTINCT ...) ตามความต้องการ ตัวอย่างการใช้งาน สร้างตารางรีวิวลูกค้า: ); เพิ่มข้อมูล (มี CustomerId ซ้ำหลายครั้ง): INSERT INTO DemoTable1453 VALUES (10, 4), (10, 4

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