SQL คืออะไร
SQL (Structured Query Language) เป็นภาษาที่ใช้สื่อสารกับฐานข้อมูล เพื่อเข้าถึงและจัดการข้อมูล เช่น การค้นหา เพิ่ม ลบ หรือแก้ไขข้อมูล โดย SQL ได้รับการรับรองเป็นมาตรฐานของ American National Standards Institute (ANSI) ในปี 1986 และของ International Organization for Standardization (ISO) ในปี 1987
SQL ทำอะไรได้บ้าง
- รันคำสั่ง query กับฐานข้อมูล
- ดึงข้อมูล (retrieve data) จากฐานข้อมูล
- เพิ่มข้อมูลใหม่ (insert records) ลงในฐานข้อมูล
- แก้ไขข้อมูลที่มีอยู่ (update records)
- ลบข้อมูล (delete records)
- สร้างฐานข้อมูลใหม่ (create new databases)
- สร้างตารางใหม่ (create new tables)
- สร้าง stored procedures (ชุดคำสั่งที่เก็บไว้ในฐานข้อมูล)
- สร้าง views (มุมมองข้อมูลเฉพาะ)
- ตั้งค่าการอนุญาต (permissions) สำหรับตาราง, procedures และ views
SQL เป็นมาตรฐาน แต่...
อย่างไรก็ตาม เพื่อให้เป็นไปตามมาตรฐาน ANSI
ทุกระบบฐานข้อมูลที่ใช้ SQL จะต้อง รองรับคำสั่งหลัก ๆ เหมือนกัน เช่นSELECT, UPDATE, DELETE, INSERT, และ WHERE
การใช้ SQL ในเว็บไซต์
หากคุณต้องการสร้างเว็บไซต์ที่ แสดงข้อมูลจากฐานข้อมูล
คุณจะต้องมีองค์ประกอบดังนี้:
- โปรแกรมฐานข้อมูลแบบ RDBMS เช่น MS Access, SQL Server, หรือ MySQL
- ภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ เช่น PHP หรือ ASP
- คำสั่ง SQL สำหรับดึงข้อมูลที่ต้องการ
- ใช้ HTML / CSS เพื่อออกแบบและตกแต่งหน้าเว็บ
RDBMS คืออะไร
RDBMS ย่อมาจาก Relational Database Management System
เป็นระบบฐานข้อมูลที่เป็นพื้นฐานของ SQL และระบบฐานข้อมูลยุคใหม่เกือบทั้งหมด เช่น
MS SQL Server, IBM DB2, Oracle, MySQL, และ Microsoft Access
ข้อมูลใน RDBMS จะถูกเก็บอยู่ใน วัตถุของฐานข้อมูล (Database Objects)
ที่เรียกว่า ตาราง (Table)
โดย Table จะเป็นชุดของข้อมูลที่เกี่ยวข้องกัน
ประกอบด้วย แถว (Rows) และ คอลัมน์ (Columns)
SELECT * FROM Customers;
ตาราง Customers จะประกอบด้วย ฟิลด์ (Fields) ต่าง ๆ เช่น
CustomerID, CustomerName, ContactName, Address, City, PostalCode, และ Country
- Field (ฟิลด์) คือ คอลัมน์ (Column) ในตาราง ใช้เก็บข้อมูลเฉพาะเรื่อง เช่น ชื่อลูกค้า หรือรหัสไปรษณีย์
- Record (ระเบียน) หรือ Row (แถว) คือข้อมูลหนึ่งรายการในตาราง เช่น ลูกค้าหนึ่งคน แต่ละ record คือข้อมูลแนวนอนในตาราง
- Column (คอลัมน์) คือข้อมูลแนวตั้งในตาราง ซึ่งเก็บค่าของฟิลด์เดียวกันในแต่ละ record
ตัวอย่าง
ตาราง Customers มีทั้งหมด 91 แถว (records)
แต่ละแถวคือข้อมูลลูกค้าแต่ละรายที่มีรายละเอียดครบทุกฟิลด์