สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ฐานข้อมูล · DBC-02-01

MySQL for Developer

หลักสูตร MySQL for Developer เป็นการอบรมใช้ MySQL รุ่นปัจจุบันสำหรับนักพัฒนา ตั้งแต่ออกแบบฐานข้อมูล เขียน Query ด้วย JOIN, CTE, Window Function และ JSON ใช้ Index ให้เร็วขึ้น จนถึงเขียน Stored Procedure, Trigger และ Transaction เหมาะกับนักพัฒนาเว็บและแอป โปรแกรมเมอร์ระดับต้น และนักศึกษาที่ทำระบบด้วย MySQL

อัปเดตล่าสุด
ราคาเริ่มต้น 6,210 บาท / ท่าน 6,900 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

MySQL เป็นฐานข้อมูลที่นักพัฒนาเว็บและแอปใช้มากที่สุดตัวหนึ่ง แต่หลายระบบยังเขียน Query แบบเดิม ดึงข้อมูลมาวนลูปคำนวณในโค้ด ต่อข้อความเป็นคำสั่ง SQL จนเสี่ยง SQL Injection หรือใช้ฟีเจอร์ที่ถูกประกาศเลิกใช้ เมื่อข้อมูลโตขึ้นระบบก็ช้าลงและดูแลยาก ทั้งที่ MySQL รุ่นปัจจุบันมี CTE, Window Function, JSON และเครื่องมือวิเคราะห์ Query ที่ช่วยให้งานเหล่านี้ทำได้ในฐานข้อมูลโดยตรง

หลักสูตรนี้พานักพัฒนาใช้ MySQL 9.7 LTS ตั้งแต่ออกแบบฐานข้อมูล เลือกชนิดข้อมูลและ Constraint เขียน Query ด้วยฟังก์ชัน CASE, JOIN และ UNION สรุปข้อมูลด้วย GROUP BY เขียน Subquery, CTE และ Window Function ทำงานกับ JSON ใช้ View และ Index พร้อมอ่าน EXPLAIN จากนั้นเขียนโปรแกรมในฐานข้อมูลด้วย Transaction, Stored Procedure, Parameter, Loop, Trigger, Event และ Error Handling แล้วปิดท้ายด้วยการเชื่อมต่อจากแอปพลิเคชันอย่างปลอดภัย (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • ออกแบบฐานข้อมูล เลือกชนิดข้อมูล และกำหนด Constraint ที่เหมาะกับแอปพลิเคชันได้
  • เขียน Query ด้วยฟังก์ชัน CASE, JOIN, UNION และการสรุปข้อมูลได้คล่อง
  • ใช้ Subquery, CTE, Window Function และ JSON แก้โจทย์จริงได้
  • อ่าน EXPLAIN และออกแบบ Index ให้ Query เร็วขึ้นได้
  • เขียน Stored Procedure, Function, Trigger และ Event พร้อมจัดการ Error ได้
  • ใช้ Transaction และเชื่อมต่อฐานข้อมูลจากแอปพลิเคชันอย่างปลอดภัยได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนาเว็บและแอปพลิเคชันที่ใช้ MySQL เป็นฐานข้อมูลหลัก
  • โปรแกรมเมอร์ระดับต้นที่ต้องการเขียน SQL ได้ลึกกว่าคำสั่งพื้นฐาน
  • นักเรียน นักศึกษาที่พัฒนาโครงงานด้วย MySQL อย่างจริงจัง
  • ทีมไอทีและครู อาจารย์ที่ดูแลหรือสอนการพัฒนาระบบฐานข้อมูล

พื้นฐานของผู้เข้าอบรม

  • เขียน SQL พื้นฐานได้ เช่น SELECT, INSERT, UPDATE และ DELETE
  • เคยพัฒนาเว็บหรือแอปที่ใช้ MySQL มาบ้าง เช่น PHP หรือ Node.js (ถ้าไม่มีจะมีคำแนะนำพื้นฐานให้)
  • ติดตั้งและถอนการติดตั้งโปรแกรม และใช้อินเทอร์เน็ตได้
  • โน้ตบุ๊กที่ติดตั้ง Docker Desktop หรือ MySQL ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร MySQL for Developer เนื้อหาเขียนใหม่ให้ตรงกับ MySQL 9.7 LTS และเป็นคู่กับหลักสูตร MySQL Administrator ฉบับปรับปรุง อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนฐานข้อมูลร้านค้าออนไลน์ตัวอย่าง ระดับ Intermediate วันแรกออกแบบฐานข้อมูล กำหนด Constraint และเขียน Query หลายตาราง

วันที่สองสรุปข้อมูล เขียน CTE, Window Function และ JSON แล้วใช้ Index กับ EXPLAIN วันที่สามใช้ Transaction และเขียน Stored Procedure, Function, Trigger และ Event แล้วเชื่อมต่อจากแอปอย่างปลอดภัย หลักสูตรนี้เน้นงานของนักพัฒนา ส่วนงานติดตั้ง สำรองข้อมูล และดูแลเซิร์ฟเวอร์อยู่ในหลักสูตร MySQL Administrator ผู้เรียนจะได้สคริปต์ SQL ทุก Lab และไฟล์ Docker กลับไปใช้งานต่อ

Day 1 ออกแบบฐานข้อมูลและเขียน Query หลายตาราง

Section 1: Lab: เตรียมสภาพแวดล้อม MySQL 9.7 LTS

  • MySQL รุ่น LTS กับ Innovation และรุ่นที่ควรใช้พัฒนาระบบในปี 2026
  • รัน MySQL ด้วย Docker และเชื่อมต่อด้วย Workbench, VS Code และ MySQL Shell
  • Character Set utf8mb4 และ Collation สำหรับข้อมูลภาษาไทย
  • sql_mode แบบ Strict และผลต่อข้อมูลที่บันทึก
  • Lab: สร้างฐานข้อมูลร้านค้าออนไลน์ตัวอย่างบน Docker

Section 2: Database Design สำหรับนักพัฒนา

  • ER Diagram และ Normalization ถึงระดับที่ใช้จริง
  • เลือกชนิดข้อมูล: INT, DECIMAL, VARCHAR, DATETIME กับ TIMESTAMP และ JSON
  • Primary Key แบบ AUTO_INCREMENT กับ UUID และ UUID_TO_BIN
  • Generated Column และเมื่อใดควร Denormalize
  • Lab: ออกแบบตารางลูกค้า สินค้า คำสั่งซื้อ และรายการสินค้าด้วย Workbench

Section 3: Lab: Constraint และความถูกต้องของข้อมูล

  • Primary Key, UNIQUE, NOT NULL และ DEFAULT
  • Foreign Key กับ ON DELETE และ ON UPDATE
  • CHECK Constraint สำหรับกฎทางธุรกิจ
  • INSERT ... ON DUPLICATE KEY UPDATE ด้วย Row Alias แทน VALUES() ที่ถูกประกาศเลิกใช้
  • Lab: กำหนดกฎราคาและสต็อกด้วย Constraint แล้วทดสอบข้อมูลผิด

Section 4: Lab: Columns, Expressions, Scalar Functions และ CASE

  • ฟังก์ชันข้อความ ตัวเลข และวันที่ที่ใช้บ่อย
  • CAST, CONVERT และการจัดรูปแบบวันที่ด้วย DATE_FORMAT
  • CASE Expression แบบ Simple และ Searched
  • COALESCE, IFNULL และการจัดการค่า NULL
  • Lab: รายงานคำสั่งซื้อพร้อมสถานะการจัดส่งและอายุคำสั่งซื้อ

Section 5: Lab: รวมข้อมูลด้วย JOIN และ UNION

  • INNER, LEFT, RIGHT และ CROSS JOIN
  • SELF JOIN และ JOIN หลายตาราง
  • UNION กับ UNION ALL
  • INTERSECT และ EXCEPT สำหรับเทียบข้อมูลสองชุด
  • Lab: รวมข้อมูลลูกค้าจากสองระบบและหาลูกค้าที่ยังไม่เคยสั่งซื้อ
Day 2 สรุปข้อมูล SQL ยุคใหม่ และประสิทธิภาพ

Section 6: Lab: Aggregating Data

  • COUNT, SUM, AVG, MIN และ MAX กับ GROUP BY
  • HAVING และลำดับการทำงานของ Query
  • WITH ROLLUP และฟังก์ชัน GROUPING
  • GROUP_CONCAT และการแบ่งหน้าด้วย LIMIT คู่กับ COUNT แทน SQL_CALC_FOUND_ROWS
  • Lab: สรุปยอดขายรายเดือนตามหมวดสินค้าพร้อมยอดรวมย่อย

Section 7: Lab: Subquery และ Common Table Expression

  • Subquery ใน SELECT, FROM และ WHERE
  • Correlated Subquery, EXISTS และ NOT EXISTS
  • CTE ด้วย WITH เพื่อแยก Query เป็นขั้นตอน
  • Recursive CTE สำหรับข้อมูลลำดับชั้น
  • Lab: หมวดสินค้าหลายระดับและลูกค้าที่ซื้อซ้ำภายใน 30 วัน

Section 8: Lab: Window Function

  • OVER, PARTITION BY และ ORDER BY
  • ROW_NUMBER, RANK และ DENSE_RANK
  • ยอดสะสมและค่าเฉลี่ยเคลื่อนที่
  • LAG และ LEAD สำหรับเทียบกับช่วงก่อนหน้า
  • Lab: สินค้าขายดี 5 อันดับต่อหมวดและการเติบโตเทียบเดือนก่อน

Section 9: Lab: ทำงานกับ JSON

  • ชนิดข้อมูล JSON และการตรวจรูปแบบ
  • อ่านค่าด้วย -> และ ->> และ JSON_EXTRACT
  • สร้างและแก้ JSON ด้วย JSON_OBJECT, JSON_ARRAYAGG และ JSON_SET
  • แปลง JSON เป็นตารางด้วย JSON_TABLE และ Multi-valued Index
  • Lab: เก็บคุณสมบัติสินค้าแบบยืดหยุ่นและค้นหาด้วย JSON

Section 10: Lab: View และ Index สำหรับนักพัฒนา

  • สร้าง View เพื่อลดการเขียน Query ซ้ำและจำกัดข้อมูลที่เปิดให้ใช้
  • Index แบบ Composite, Covering และ Functional Index
  • อ่านแผนการทำงานด้วย EXPLAIN และ EXPLAIN ANALYZE
  • Query ที่ทำให้ Index ใช้ไม่ได้ และวิธีแก้
  • Lab: ปรับ Query ค้นหาสินค้าและรายงานยอดขายให้เร็วขึ้นแล้ววัดผล
Day 3 Transaction และโปรแกรมในฐานข้อมูล

Section 11: Lab: Transaction และ Locking

  • ACID, START TRANSACTION, COMMIT และ ROLLBACK
  • Isolation Level ของ InnoDB และผลที่เห็นได้จริง
  • SELECT ... FOR UPDATE, NOWAIT และ SKIP LOCKED
  • Deadlock เกิดขึ้นอย่างไร และเขียนโค้ดให้ลองใหม่อย่างปลอดภัย
  • Lab: ตัดสต็อกพร้อมกันหลายคำสั่งซื้อโดยไม่ขายเกินจำนวน

Section 12: Lab: Stored Procedure และ Parameters

  • สร้างและเรียกใช้ Stored Procedure ด้วย CALL
  • Parameter แบบ IN, OUT และ INOUT
  • ตัวแปร DECLARE และ SET
  • สิทธิ์ DEFINER กับ INVOKER
  • Lab: Procedure สร้างคำสั่งซื้อพร้อมคืนเลขที่และยอดรวม

Section 13: Lab: Loop, Cursor และ Stored Function

  • IF, CASE และลูปแบบ LOOP, WHILE และ REPEAT
  • Cursor และเมื่อใดควรใช้คำสั่งแบบชุดข้อมูลแทน
  • Stored Function และคุณสมบัติ DETERMINISTIC
  • ภาพรวม JavaScript Stored Program ใน Enterprise Edition
  • Lab: Function คำนวณค่าจัดส่งและ Procedure ปรับราคาตามเงื่อนไข

Section 14: Lab: Trigger, Event และ Error Handling

  • Trigger แบบ BEFORE และ AFTER กับค่า OLD และ NEW
  • Event Scheduler สำหรับงานตามเวลา
  • DECLARE HANDLER สำหรับ Exception แบบต่าง ๆ
  • SIGNAL, RESIGNAL และ GET DIAGNOSTICS
  • Lab: Trigger เก็บประวัติราคา Event ล้างตะกร้าค้าง และ Procedure ที่ Rollback เมื่อผิดพลาด

Section 15: Workshop: เชื่อมต่อจากแอปอย่างปลอดภัย

  • Prepared Statement ใน PHP PDO หรือ Node.js mysql2 เพื่อป้องกัน SQL Injection
  • Connection Pool และการเรียก Stored Procedure จากโค้ด
  • แบ่งหน้าข้อมูลและค้นหาหลายเงื่อนไขอย่างมีประสิทธิภาพ
  • Workshop: ต่อระบบสั่งซื้อจากฐานข้อมูลที่ออกแบบไว้ให้ครบวงจร
  • นำเสนอผลงานและรีวิว Query ร่วมกัน

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

JOIN กับ UNION ใน SQL ต่างกันอย่างไร

JOIN รวมข้อมูลจากหลายตารางในแนวนอน โดยจับคู่แถวที่มีค่าสัมพันธ์กัน เช่น รหัสลูกค้าในตารางคำสั่งซื้อกับตารางลูกค้า ได้ผลเป็นคอลัมน์จากทั้งสองตาราง ส่วน UNION ต่อผลลัพธ์ของหลายคำสั่ง SELECT ในแนวตั้ง โดยทุกคำสั่งต้องมีจำนวนคอลัมน์และชนิดข้อมูลสอดคล้องกัน UNION ตัดแถวซ้ำออก ส่วน UNION ALL เก็บแถวซ้ำไว้และทำงานเร็วกว่า และ MySQL รุ่นปัจจุบันยังมี INTERSECT และ EXCEPT สำหรับหาข้อมูลที่ซ้ำกันหรือต่างกันระหว่างสองชุด

Stored Procedure ใน MySQL คืออะไร สร้างอย่างไร

Stored Procedure คือชุดคำสั่ง SQL ที่ตั้งชื่อและเก็บไว้ในฐานข้อมูล แล้วเรียกใช้ซ้ำด้วยคำสั่ง CALL ช่วยลดโค้ดซ้ำในโปรแกรมและลดการรับส่งข้อมูลระหว่างแอปกับฐานข้อมูล วิธีสร้างคือเปลี่ยน DELIMITER ชั่วคราว เขียน CREATE PROCEDURE ตามด้วยชื่อและพารามิเตอร์แบบ IN, OUT หรือ INOUT ใส่คำสั่งไว้ระหว่าง BEGIN กับ END แล้วจึงคืน DELIMITER เป็นค่าเดิม ควรเพิ่ม DECLARE HANDLER และ Transaction เมื่อ Procedure แก้ข้อมูลหลายตาราง

Trigger ใน MySQL ใช้ทำอะไร

Trigger คือคำสั่งที่ฐานข้อมูลรันเองอัตโนมัติเมื่อเกิด INSERT, UPDATE หรือ DELETE กับตารางที่กำหนด เลือกได้ว่าจะทำก่อน (BEFORE) หรือหลัง (AFTER) เหตุการณ์ ใช้ตรวจหรือปรับค่าก่อนบันทึก เก็บประวัติการแก้ไขลงตาราง Log หรือปรับยอดสต็อกเมื่อมีคำสั่งซื้อ โดยอ้างถึงค่าเดิมและค่าใหม่ผ่าน OLD และ NEW ช่วยลดโค้ดฝั่งโปรแกรม แต่ถ้าใช้มากเกินไปจะไล่หาสาเหตุของปัญหาได้ยาก

หลักสูตร MySQL for Developer เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนาเว็บและแอปที่ใช้ MySQL โปรแกรมเมอร์ระดับต้น นักศึกษาที่ทำโครงงานด้วย MySQL และทีมไอทีที่ดูแลระบบฐานข้อมูล ควรเขียน SQL พื้นฐานอย่าง SELECT, INSERT, UPDATE และ DELETE ได้ และเคยพัฒนาเว็บหรือแอปที่ใช้ MySQL มาบ้าง ถ้ายังไม่เคยจะมีคำแนะนำพื้นฐานให้ และต้องมีโน้ตบุ๊กที่ติดตั้ง Docker หรือ MySQL ได้

เรียนจบหลักสูตร MySQL for Developer แล้วทำอะไรได้บ้าง

ออกแบบฐานข้อมูลและกำหนด Constraint ได้ เขียน Query ด้วย JOIN, UNION, GROUP BY, Subquery, CTE และ Window Function ทำงานกับข้อมูล JSON อ่าน EXPLAIN และออกแบบ Index ให้ Query เร็วขึ้น เขียน Stored Procedure, Function, Trigger และ Event พร้อมจัดการ Error ใช้ Transaction ป้องกันข้อมูลผิดพลาด และเชื่อมต่อจากแอปด้วย Prepared Statement ได้ ผู้ผ่านการอบรมได้รับประกาศนียบัตร (Certificate of Completion)

จัดอบรมหลักสูตร MySQL for Developer ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกกับโครงสร้างฐานข้อมูลที่คล้ายระบบที่ใช้อยู่ หรือรีวิว Query ที่ทำงานช้าของทีม ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

บทความที่เกี่ยวข้อง