ปูพื้น SQL ปั้นจากเซลล์(0) ให้เป็นลิง(1)
สรุปทักษะรายสัปดาห์ ตั้งแต่วันที่ 26 ถึง 30 มิถุนายน 2566 by WeLoveBug
ขอเกริ่นก่อนนะครับ สัปดาห์นี้มีการเน้นสอนไปที่ SQL สักส่วนใหญ่อาจจะมีแทรกบางข้อมูลที่ได้รับในแต่ละวันมาบ้างแต่หัวข้อหลักคือ SQL นะครับ
เริ่มมาวันแรกนั้นยังไม่ได้เน้นอะไรมากส่วนใหญ่จะเป็นการเตรียมตัวหรือลงโปรแกรมซะมากกว่าโดยโปรแกรมที่จำเป็น หรือ ถ้ามีก็จะทำให้สะดวกขึ้นจะมีดังนี้
- Docker (จำเป็น)
- Github desktop (ถ้าติดตั้งจะทำให้โคลนข้อมูลได้สะดวกขึ้น)
หลังจากลงอะไรเสร็จสรรพแล้ว เราก็ไปเริ่มเรียนรู้พร้อมกันเลยดีกว่า
หลังจากที่เราพอจะทราบว่า SQL มีกี่ประเภทแล้วเราก็มาดูสิ่งที่ผมพบเจอในวันแรกกันเลย
📢 ก่อนอื่นเราจะต้องเปิดโปรแกรม Docker ทุกครั้งก่อนที่จะทำนะครับไม่งั้นเราจะไม่สามารถรันโค้ดใน Terminal ได้
หลังจากนั้นเราจะเริ่มรันคำสั่งใน Terminal กันเลย (สามารถโคลนได้จาก Link Github ในรูปข้างบน) โดยเราจะเข้า Terminal ในโฟลเดอร์ที่เรา โคลนมา และให้พิมตามคำสั่งด้านล่างนี้ หรือจะทำตามใน Github ไปร่วมกันเลยก็ได้
docker network create our-network
docker-compose up -d --force-recreate
docker exec -it mysql bash
พอพิมครบหมดแล้วเราจะเข้ามาถึง Bash ซึ่งถ้าคุณทำตาม Github จะเห็นได้ว่าผมข้ามไปคำสั่งนึงคือ
docker-compose down -v
เนื่องจากคำสั่งนี้มีไว้ปิดตัว Docker หรือ หยุด เราจะใช้ก็ต่อเมื่อเราอยากจะปิดหรือไม่อยากทำต่อเท่านั้น
และหลังจากนั้นเราจะเชื่อมต่อเข้าไปใน ดาต้า โดยคำสั่งตามนี้
docker-compose down -v
โดยมี Password คือ root
เอาละเราเสร็จขั้นตอนแรกคือการเตรียมความพร้อมกันแล้ว และชุดคำสั่งนี้ก็คือชุดที่ได้รับการแก้ไขมาแล้ว คุณคงจะงงว่าผมหมายความว่าอะไร ใช่ครับก่อนหน้านั้นผมไม่สามารถรันคำสั่งนี้ได้ตั้งแต่คำสั่งแรก ทำให้วันแรกนั้นผมไม่สามารถทำตามพี่นัทได้ทัน
หลังจากที่เราเตรียมตัวเสร็จต่อไปเราจะเข้าหัวข้อ Data Type
ซึ่งถ้าจะให้สรุปสั้นๆแล้ว Data Type จะมีทั้งหมด 3 ประเภทใหญ่ๆ คือ
- Numeric
- Date and Time
- String Data Type
ซึ่งสามารถไปอ่านเพิ่มเติมได้ที่Github ข้างต้นต่อได้นะครับ
หลังจากทำความเข้าใจ Data type แล้วเราจะไปต่อกันด้วย Database กันเลย
โดยพี่นัทจะเน้นไปที่การปูพื้นจึงยังไม่ลงลึกเช่นเคย โดย Database นั้นจะประกอบไปด้วย Create(สร้าง), Select(เลือก), Show(แสดง) และ Drop(ลบ)
ต่อไปคือสิ่งสำคัญใน Database นั่นก็คือตารางข้อมูล ใช่แล้วครับ Table of Content
แล้วมี คำสั่งอะไรบ้างล่ะ
- Create table
- Show table
- Alter table
- Auto increment field
- Trunecate table
- Drop table
- Copy/Clone/Duplicate table
- View
มีอะไรที่ได้เรียนรู้เยอะมากกกก กอไก่ล้านตัว ผมคงไม่สามารถอธิบายได้หมดแต่บอกเลยจุใจมากๆ
และจบสัปดาห์ไปด้วย Query ซึ่งประกอบไปด้วย
- Insert statement
- Update Query
- Delete Statement
- Select Statement
และมีการแวะไปที่ Function ด้วยซึ่งเป็นอะไรที่เล่นสนุกมากก ซึ่งประกอบไปด้วย
- Count
- Sum
- AVG
- MIN
- MAX
ทุกคำสั่งเราจะใช้ในการหาค่าต่างๆตามชื่อ เช่น AVG คือ Average ก็คือการหาค่าเฉลี่ยกลางนั่นเอง ผมได้ลองเล่นทุกคำสั่งเลย
สรุปยอดรวม
สัปดาห์นี้ค่อนข้างหนักหน่วงมากๆกับ SQL มีทั้งช่วงที่เข้าใจและอึนๆหมองๆ แต่เป็นสัปดาห์ที่สนุกมากๆ พี่นัทสอนได้สนุกจริงๆ ตอนเราเรียนที่มหาวิทยาลัย 1 ชม. เท่ากับ 1 ชาติเลยก็ว่าได้ แต่พี่เขาสอนได้ดีมากเวลาผ่านไปไวสุดๆ ขอบคุณจริงๆครับผม ถึงแม้ครั้งล่าสุดอาจจะมีกระตุกกระตักมั่ง สำหรับอนาคตอาจจะมีคลิปสอนลงที่ช่องของ Siam Chamnankit นะครับสามารถไปเช็กได้ในอนาคต ขอให้มีความสุขในสัปดาห์ใหม่และโชคดีมีSQL ครับ