บทความนี้เป็นส่วนหนึ่งของซีรีส์ Full-Stack PHP 8 + Bootstrap 5 + MySQL — สร้างเว็บไซต์แบบ Full Stack ตั้งแต่พื้นฐานจนใช้งานได้จริง พร้อมสร้างและเผยแพร่เว็บไซต์ Portfolio ของตนเอง (เรียบเรียงจากคู่มืออบรมของ Wutthiphon Tassana — Wirabyte CO., LTD.) — ตอนที่ 8/10
เกี่ยวกับ MySQL
MySQL คือระบบจัดการฐานข้อมูลแบบตาราง ข้อมูลถูกเก็บเป็นตาราง (Table) ที่ประกอบด้วยคอลัมน์ (Column) กำหนดว่าเก็บข้อมูลอะไรบ้าง และแถว (Row) คือข้อมูลแต่ละรายการ หน้าตาคล้ายตารางใน Excel แต่ค้นหา เชื่อมโยง และรองรับผู้ใช้พร้อมกันจำนวนมากได้ดีกว่ามาก โดยเว็บหนึ่งเว็บมักมีฐานข้อมูล (Database) ของตัวเอง 1 ชุด ภายในแยกเป็นหลายตารางตามเรื่องที่เก็บ
- ทุกตารางควรมีคอลัมน์ id เป็น Primary Key (PK) คือรหัสประจำแถวที่ไม่ซ้ำกัน
- ตั้ง id เป็น AUTO_INCREMENT ให้ MySQL รันเลขให้อัตโนมัติเมื่อเพิ่มข้อมูลใหม่
- ถ้าตารางหนึ่งต้องอ้างถึงอีกตาราง ให้เก็บ id ของตารางนั้นไว้ เรียกว่า Foreign Key (FK) เช่น projects เก็บ category_id เพื่อบอกว่าอยู่หมวดไหน
ชนิดข้อมูลที่ใช้บ่อย
| ชนิดข้อมูล | ความหมาย |
|---|---|
| INT | ตัวเลขจำนวนเต็ม เช่น รหัส จำนวน |
| FLOAT , DOUBLE | ตัวเลขทศนิยม เช่น เกรดเฉลี่ย ราคา น้ำหนัก (DOUBLE เก็บได้ละเอียดกว่า FLOAT) |
| VARCHAR(n) | ข้อความสั้น กำหนดความยาวสูงสุด เช่น VARCHAR(100) คือยาวได้ไม่เกิน 100 ตัวอักษร |
| TEXT | ข้อความยาว เช่น คำอธิบาย เนื้อหา |
| DATETIME | วันที่และเวลา เช่น 2026-08-13 09:00:00 |
ในซีรีส์นี้ เว็บ Portfolio ของเราใช้ 3 ตาราง ได้แก่ categories เก็บหมวดหมู่ผลงาน projects เก็บผลงานแต่ละชิ้นโดยมี category_id อ้างถึงหมวดหมู่ และ messages เก็บข้อความจากสมุดเยี่ยม
โครงสร้างฐานข้อมูลของเว็บ Portfolio ที่จะสร้างในซีรีส์นี้
การเรียกใช้งานและจัดการฐานข้อมูลผ่าน DBMS PhpMyAdmin
phpMyAdmin คือเครื่องมือจัดการ MySQL ผ่านหน้าเว็บซึ่งติดมากับ XAMPP อยู่แล้ว เปิดใช้งานได้ที่ http://localhost/phpmyadmin (ต้อง Start Apache และ MySQL ใน XAMPP Control Panel ก่อน)
ขั้นตอนสร้างฐานข้อมูลแรกของเรา
- คลิก New ที่แถบรายชื่อฐานข้อมูลด้านซ้าย
- ตั้งชื่อฐานข้อมูล เช่น portfolio_db
- เลือก Collation เป็น utf8mb4_unicode_ci เพื่อให้รองรับภาษาไทย แล้วคลิก Create
- คลิกชื่อฐานข้อมูลที่เพิ่งสร้างทางด้านซ้าย จะพบแท็บ Structure สำหรับดูตาราง และแท็บ SQL สำหรับพิมพ์คำสั่ง
การสร้างตารางทำได้ทั้งแบบคลิกผ่านหน้า Structure และแบบพิมพ์คำสั่ง SQL โดยในซีรีส์นี้เราจะใช้คำสั่ง SQL ซึ่งจะเรียนในบทถัดไป โดยนำคำสั่งไปวางในแท็บ SQL แล้วกด Go