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

    ชนิดข้อมูล TIME ใน MySQL ไม่สามารถใช้ SUM() โดยตรงได้ เพราะ SUM() ทำงานกับตัวเลข ต้องแปลงเวลาเป็นวินาที (SECOND) ก่อน รวมกัน แล้วค่อยแปลงกลับเป็น TIME หลักการ SEC_TO_TIME( SUM( TIME_TO_SEC(time_column) ) ) ตัวอย่างการใช้งาน สร้างตารางเวลา: CREATE TABLE DemoTable1442 (DueTime TIME); เพิ่มข้อมูล:

  2. การรวมค่าตัวเลขตามกลุ่มใน MySQL ด้วย GROUP BY

    เมื่อต้องการรวมค่าตัวเลข (เช่น คะแนน, ยอดขาย, จำนวน) ตามกลุ่ม (เช่น ตามคน, ตามสินค้า, ตามเดือน) ใช้คำสั่ง GROUP BY ร่วมกับฟังก์ชันรวม SUM() ตัวอย่างการใช้งาน สร้างตารางคะแนนนักเรียน: ); เพิ่มข้อมูล (นักเรียนแต่ละคนมีหลายคะแนน): INSERT INTO DemoTable1443 VALUES (101, 97); ดูข้อมูล: SELECT * FR

  3. การคำนวณ SUM ระหว่างสองวันที่ใน MySQL ด้วย BETWEEN

    เมื่อต้องการรวมค่าตัวเลข (SUM) ของแถวที่อยู่ในช่วงวันที่เฉพาะ สามารถใช้เงื่อนไข BETWEEN ในส่วน WHERE ได้ ซึ่งรองรับชนิดข้อมูล DATE, DATETIME, และ TIMESTAMP ตัวอย่างการใช้งาน สร้างตารางขายสินค้า: ); เพิ่มข้อมูล: INSERT INTO DemoTable1444 VALUES (70, 2018-12-05); ดูข้อมูล: SELECT * FROM DemoTab

  4. การกรองข้อมูลใน MySQL ด้วยตัวอักษรแรกของคอลัมน์โดยใช้ LEFT

    ฟังก์ชัน LEFT() ใน MySQL ใช้ดึงตัวอักษรจากด้านซ้ายของสตริงตามจำนวนที่กำหนด สามารถนำมาใช้ในเงื่อนไข WHERE เพื่อกรองข้อมูลที่ขึ้นต้นด้วยตัวอักษรเฉพาะได้อย่างง่ายดาย ไวยากรณ์ LEFT(str, len) str: สตริงต้นฉบับ (ชื่อคอลัมน์) len: จำนวนตัวอักษรที่ต้องการดึงจากซ้าย ตัวอย่างการใช้งาน สร้างตารางพนักง

  5. การนับจำนวนเครื่องหมายจุลภาคในคอลัมน์ค่าคั่นด้วยจุลภาค MySQL

    เมื่อมีคอลัมน์เก็บค่าหลายค่าคั่นด้วยจุลภาค (Comma-Separated Values) การนับจำนวนจุลภาคจะช่วยทราบจำนวนรายการ (จำนวนรายการ = จำนวนจุลภาค + 1) สามารถคำนวณได้โดยเปรียบเทียบความยาวสตริงก่อนและหลังลบจุลภาคออก หลักการคำนวณ จำนวนจุลภาค = LENGTH(สตริงต้นฉบับ) - LENGTH(REPLACE(สตริงต้นฉบับ, ,, )) ตัวอย่างการ

  6. การค้นหาวันครบรอบใน MySQL โดยเปรียบเทียบวันและเดือนกับวันที่ปัจจุบัน

    เมื่อต้องการค้นหาระเบียนที่ตรงกับวันและเดือนปัจจุบัน (เช่น วันเกิด วันครบรอบ) โดยไม่สนใจปี สามารถใช้ฟังก์ชัน MONTH() และ DAY() แยกส่วนประกอบของวันที่มาเปรียบเทียบ ตัวอย่างการใช้งาน สร้างตารางวันครบรอบ: ); เพิ่มข้อมูลปีต่างกัน แต่วัน/เดือนบางส่วนตรงกัน: INSERT INTO DemoTable1429 VALUES (2015-09-

  7. การนับค่า Yes/No ใน MySQL ด้วย SUM และ CASE

    เมื่อต้องการนับจำนวนค่าเฉพาะ (เช่น Yes/No) ในคอลัมน์ ENUM หรือ VARCHAR ที่มีค่าซ้ำกันในหลายแถว สามารถใช้ SUM() ร่วมกับเงื่อนไขแบบ Boolean ได้ โดย MySQL จะแปลง TRUE เป็น 1 และ FALSE เป็น 0 อัตโนมัติ ตัวอย่างการใช้งาน สร้างตารางสถานะสมรส: ); เพิ่มข้อมูล (EmployeeId 1001 มี 4 ระเบียน): INSERT INTO

  8. การเพิ่มอักขระพิเศษต่อท้ายคอลัมน์ใน MySQL ด้วย RPAD

    ฟังก์ชัน RPAD() ใน MySQL ใช้สำหรับเติมอักขระทางขวาของสตริงให้ยาวตามความยาวที่กำหนด ซึ่งน่าจะใช้สำหรับจัดรูปแบบข้อมูลแสดงผลหรือสร้างรหัสแบบคงที่ ไวยากรณ์ RPAD(str, len, padstr) str: สตริงต้นฉบับ len: ความยาวที่ต้องการ (รวมสตริงต้นฉบับ) padstr: อักขระที่ใช้เติม (จะทำซ้ำจนครบความยาว) ตัวอย่าง

  9. การค้นหาแถวเฉพาะใน MySQL เมื่อมีค่าซ้ำในคอลัมน์

    เมื่อตารางมีข้อมูลซ้ำในคอลัมน์ (เช่น ชื่อพนักงานซ้ำกัน) การค้นหาแถวเฉพาะต้องระบุเงื่อนไขหลายคอลัมน์พร้อมกันด้วย AND เพื่อให้ได้ผลลัพธ์ที่แม่นยำ ตัวอย่างการใช้งาน สร้างตารางพนักงาน: ); เพิ่มข้อมูล (มีชื่อ Chris Brown ซ้ำ 2 รายการ ประเทศต่างกัน): INSERT INTO DemoTable1431 (EmployeeName, EmployeeC

  10. การใช้ MySQL VIEW ร่วมกับเงื่อนไข WHERE

    VIEW ใน MySQL คือตารางเสมือนที่สร้างจากคำสั่ง SELECT สามารถใช้งานได้เหมือนตารางทั่วไป รวมถึงการใช้เงื่อนไข WHERE เพื่อกรองข้อมูล ซึ่งช่วยทำให้คำสั่งซับซ้อนง่ายขึ้นและเพิ่มความปลอดภัย ไวยากรณ์พื้นฐาน SELECT * FROM your_view_name WHERE your_column = value; ตัวอย่างการใช้งาน สร้างตารางนักเรียน: );

  11. การเก็บสตริงในตัวแปรและต่อสตริงแสดงในคอลัมน์เดียว MySQL

    ใน MySQL สามารถเก็บค่าสตริงในตัวแปรผู้ใช้ (User-defined Variable) และใช้ฟังก์ชัน CONCAT_WS() เพื่อต่อสตริงหลายคอลัมน์ด้วยตัวคั่นที่กำหนด แล้วแสดงผลในคอลัมน์เดียว ตัวอย่างการใช้งาน สร้างตารางลูกค้า: ); เพิ่มข้อมูล: INSERT INTO DemoTable1433 (ClientFirstName, ClientLastName) VALUES (David, Miller

  12. การลบเวลา 1 ชั่วโมงจากข้อมูลวันที่-เวลาใน MySQL ด้วย DATE_SUB

    เมื่อต้องการลบเวลาจากคอลัมน์วันที่-เวลา (DATETIME) ใน MySQL สามารถใช้ฟังก์ชัน DATE_SUB() ร่วมกับ INTERVAL ได้ ฟังก์ชันนี้ช่วยคำนวณวันที่/เวลาย้อนหลังได้อย่างแม่นยำ ตัวอย่างการใช้งาน สร้างตารางเก็บวันที่-เวลา: ); เพิ่มข้อมูลตัวอย่าง: INSERT INTO DemoTable1434 VALUES (2017-09-30 23:10:00); ดูข้อ

  13. การจัดเรียงวันที่ใน MySQL รูปแบบ '01 August 2019' ด้วย STR_TO_DATE

    เมื่อจัดเก็บวันที่เป็นข้อความ (VARCHAR) ในรูปแบบ مثل 01 August 2019 การจัดเรียงตามลำดับวันที่จริงจะไม่ได้ผลถ้าใช้ ORDER BY ธรรมดา เนื่องจากจะเรียงตามตัวอักษร ต้องใช้ฟังก์ชัน STR_TO_DATE() เพื่อแปลงเป็นวันที่จริงก่อนจึงจะเรียงได้ถูกต้อง ตัวอย่างการใช้งาน สร้างตารางเก็บวันที่เป็นข้อความ: ); เพิ่มข

  14. การอัปเดตหลายแถวใน MySQL ด้วยเงื่อนไข IN()

    เมื่อต้องการอัปเดตหลายแถวพร้อมกันโดยระบุเงื่อนไขในคอลัมน์เดียว สามารถใช้ฟังก์ชัน IN() ในส่วน WHERE ได้ ซึ่งช่วยลดความซับซ้อนของคำสั่ง SQL และเพิ่มประสิทธิภาพ ตัวอย่างการใช้งาน สร้างตารางตัวอย่าง: ); เพิ่มข้อมูลทดสอบ: INSERT INTO DemoTable1420 (FirstName, LastName, Age) VALUES (Adam, Smith, 25);

  15. การดึงข้อมูลหลายค่าใน MySQL ด้วยเงื่อนไข OR

    ใน MySQL สามารถดึงข้อมูลที่ตรงกับหลายเงื่อนไขพร้อมกันได้โดยใช้ตัวดำเนินการ OR ในส่วน WHERE ซึ่งจะคืนค่าแถวที่ตรงกับเงื่อนไขใดเงื่อนไขหนึ่งอย่างน้อยหนึ่งข้อ ตัวอย่างการใช้งาน สร้างตารางพนักงาน: ); เพิ่มข้อมูลตัวอย่าง: INSERT INTO DemoTable1421 (EmployeeName, EmployeeSalary) VALUES (Mike, 14500);

  16. การอัปเดตข้อมูลใน MySQL ตามเงื่อนไขด้วยคำสั่ง CASE

    เมื่อต้องการอัปเดตระเบียนใน MySQL ตามเงื่อนไขที่กำหนด สามารถใช้คำสั่ง CASE ร่วมกับคำสั่ง UPDATE ได้ ซึ่งช่วยให้สามารถเปลี่ยนค่าของคอลัมน์ต่างกันไปตามค่าเดิมของแต่ละแถว ตัวอย่างการใช้งาน สร้างตารางตัวอย่าง: ); เพิ่มข้อมูลทดสอบ: INSERT INTO DemoTable1481 VALUES (890); ดูข้อมูลก่อนอัปเดต: SELECT

  17. Query ข้อมูลในช่วงวันที่ (Range) ด้วย BETWEEN ใน MySQL

    ภาพรวม ใช้ BETWEEN เพื่อเลือกข้อมูลที่อยู่ในช่วงวันที่ (Inclusive - รวมทั้งสองขอบ) ไวยากรณ์ SELECT * FROM table_name WHERE date_column BETWEEN start_date AND end_date; ตัวอย่างสมบูรณ์ 1. สร้างตารางและข้อมูล CREATE TABLE DemoTable1422 ( EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, E

  18. MySQL: ดึงข้อมูลจากคอลัมน์ที่เก็บค่าคั่นด้วยจุลภาค (Comma-separated) ด้วย FIND_IN_SET()

    ปัญหา เมื่อคอลัมน์หนึ่งเก็บหลายค่าไว้ด้วยกันคั่นด้วยจุลภาค (เช่น AUS,UK) การใช้ IN() ไม่ได้ผล เพราะ MySQL จะมองว่าเป็นสตริงเดียว ไม่ใช่หลายค่า วิธีแก้: ใช้ FIND_IN_SET() FIND_IN_SET(str, strlist) คืนค่าตำแหน่ง (1-based index) ของ str ใน strlist ที่คั่นด้วยจุลภาค หากไม่พบคืน 0 ใช้ในเงื่อนไข WHERE ได

  19. แทนที่ส่วนของสตริงก่อนจุด (Dot) ใน MySQL ด้วย CONCAT และ SUBSTRING_INDEX

    ภาพรวม ใช้ SUBSTRING_INDEX() ดึงส่วนหลังจุด (Decimal Part) แล้ว CONCAT() ต่อกับค่าใหม่ที่ต้องการ ฟังก์ชันหลัก ฟังก์ชันคำอธิบาย SUBSTRING_INDEX(str, delim, count)ดึงสตริงก่อน/หลัง Delimiter ครั้งที่ count (+ = นับจากซ้าย, - = นับจากขวา) CONCAT(str1, str2, ...)ต่อสตริง ตัวอย่างสมบูรณ์ 1. สร้างตาร

  20. รวม DISTINCT และ COUNT ใน MySQL เพื่อนับจำนวนครั้งของแต่ละค่าที่ไม่ซ้ำ

    คำตอบ: ใช่ ใช้ COUNT(*) กับ GROUP BY ไม่ต้องเขียน DISTINCT แยก ใช้ GROUP BY column จัดกลุ่มค่าที่เหมือนกัน แล้ว COUNT(*) นับจำนวนในแต่ละกลุ่ม ตัวอย่างสมบูรณ์ 1. สร้างตารางและข้อมูล (ปีซ้ำกัน) CREATE TABLE DemoTable1425 (JoiningYear INT); INSERT INTO DemoTable1425 VALUES (2000); INSERT INTO DemoTa

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