Friday, April 4, 2014

SQL Syntax ยากไหมนะ มาเรียนรู้กันครับ

ไปลองเปิด google translate ดูสิว่า Syntax แปลว่าอะไรนะ แปลออกมา คือ วากยสัมพันธ์ งงกันเลยครับพี่น้อง เอาเป็นว่ามันคือประโยคคำสั่งของภาษา SQL ไว้เรียกใช้แล้วกัน ไม่ใช่อะไรที่ยากเลย เพราะในทางคอมพิวเตอร์  พวก programmer ก็ใช้ syntax นี่แหล่ะในการเขียนโปรแกรม ใครใช้ภาษาอะไรเขียนก็ต้องทำความรู้จักหรือคุ้นเคยกับ syntax ของภาษานั้นๆครับ

ที่นี่เราจะมาเรียนภาษา SQL เราก็ต้องมาเรียนรู้ Syntax ของภาษา SQL กันนะครับ
ย้อนกลับมาดูเรื่อง Database Table หรือตารางที่อยู่ในฐานข้อมูล
ฐานข้อมูลส่วนใหญ่จะเก็บข้อมูลในรูปแบบตารางข้างในฐานข้อมูล ซึ่งแต่ละตารางจะถูกตั้งชื่อเอาไว้ให้สัมพันธ์กับข้อมูลที่เก็บบันทึกไว้ เช่น ตาราง Customers ก็เก็บข้อมูลเกี่ยวกับลูกค้า หรือตาราง Orders ก็เก็บข้อมูลเกี่ยวกับการสั่งซื้อทั้งหมด โดยที่ข้อมูลจะถูกเก็บเป็นแถว หรือเรียกว่า rows

ในบทความนี้จะใช้ฐานข้อมูลตัวอย่างชื่อว่า Northwind Sample database ที่อยู่ในโปรแกรม MS Access และ MS SQL Server

ด้านล่างจะเป็นตัวอย่างของตาราง Customers:
CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

ตางรางด้านบนมีทั้งหมด 5 แถวหรือเรียนกว่า 5 Records โดยแต่ละแถวก็จะเป็นข้อมูลลูกค้าแต่ละราย ซึ่งมีรายละเอียดตามคอลัมน์ด้านบน

ข้อความ SQL Statements 
เวลาเราจะทำอะไรกับฐานข้อมูล เราจะใช้ภาษา SQL หรือใช้ SQL Statements
ด้านล่างจะเป็นภาษา SQL Statement เพื่อเรียก Records ทั้งหมดในตาราง Customers ขึ้นมาแสดง

ยกตัวอย่าง
SELECT * FROM Customers;
เพื่อนๆสามารถเข้าไปลองเล่นได้ที่ Link ด้านล่างครับ จะเป็นระบบจำลองที่สามารถพิมพ์สั่งงานฐานข้อมูลที่เราสามารถลองทำได้เหมือนเวลาเราไปใช้คำสั่งบนโปรแกรมฐานข้อมูลต่างๆได้

จำให้ขึ้นใจนำครับ : ภาษา SQL เป็นภาษาที่ไม่เป็น case sensitive หมายความว่าอย่างไร หมายความว่าไม่สนใจว่าเราจะพิมพ์ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ให้ความหมายเหมือนกัน เช่น เวลาเราพิมพ์คำสั่ง select จะมีความหมายเดียวกับเวลาเราพิมพ์ว่า SELECT 
แต่ส่วนใหญ่เราจะพิมพ์ภาษา SQL ด้วยตัวพิมพ์ใหญ่ เพื่อให้เข้าใจจะง่ายในการสังเกตุว่าเป็นคำสั่งในการใช้งาน

เราจำเป็นต้องพิมพ์ Semicolon หรือตัว ; เวลาจบประโยคคำสั่ง SQL หรือไม่?
ต้องบอกว่าบางระบบฐานข้อมูลต้องมีตัว ; ตอนจบท้ายประโยคคำสั่ง ขึ้นอยู่กับแต่ละระบบว่าต้องพิมพ์หรือไม่

จริงๆแล้ว Semicolon หรือ ; เป็นวิธีมาตรฐานในการแยกหรือแบ่งประโยค SQL Statement เพื่อให้ง่ายในการทำความเข้าใจหรือเวลาอ่านประโยคในระบบฐานข้อมูล ซึ่งสามารถทำงานตามคำสั่งหรือมากกว่าหนึ่งคำสั่งได้เวลามีการเรียกใช้

ในบทความนี้เราจะใส่ ; เป็นหลักในประโยค SQL Statement

คำสั่ง SQL ที่สำคัญที่สุดที่ควรรู้ได้แก่

SELECT - ดึงข้อมูลจากฐานข้อมูล
UPDATE - อัปเดทข้อมูลในฐานข้อมูล
DELETE - ลบข้อมูลในฐานข้อมูล
INSERT INTO - เพิ่มข้อมูลใหม่ในฐานข้อมูล
CREATE DATABASE - สร้างฐานข้อมูลใหม่
ALTER DATABASE - แก้ไขฐานข้อมูล
CREATE TABLE - สร้างตารางใหม่
ALTER TABLE - แก้ไขตาราง
DROP TABLE - ลบตาราง
CREATE INDEX - สร้างดัชนีใหม่ หรือเรียกว่า index เพื่อใช้ในการค้นหา (search key)
DROP INDEX - ลบดัชนี หรือลบ index

2 comments:

  1. สวัสดีครับ ผมรบกวนหน่อยครับ ไม่มีความรู้ด้านนี้เลย ผมไม่เข้าใจว่ามันคืออะไร แล้วแก้ไขตรงไหน เสิร์ชเข้าหาในgoogleก้อมีแต่คนตอบอะไรไม่รุ้ แต่ไม่มีใครบอกว่าต้องเข้าไปตรงไหนยังไง ผมหาอะไรไม่เจอเลยคับ ช่วยแนะนำด้วยคับ

    ReplyDelete
  2. สวัสดีครับ ผมรบกวนหน่อยครับ ไม่มีความรู้ด้านนี้เลย ผมไม่เข้าใจว่ามันคืออะไร แล้วแก้ไขตรงไหน เสิร์ชเข้าหาในgoogleก้อมีแต่คนตอบอะไรไม่รุ้ แต่ไม่มีใครบอกว่าต้องเข้าไปตรงไหนยังไง ผมหาอะไรไม่เจอเลยคับ ช่วยแนะนำด้วยคับ

    ReplyDelete