12 เม.ย. เวลา 07:34 • การศึกษา
Data By Shoper Gamer

SQL คืออะไร

โดย
SQL ย่อมาจาก Structured Query Language เป็นภาษามาตรฐานที่ใช้ในการจัดการ และ ดึงข้อมูลจากระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System - RDBMS)
1
กล่าวอีกนัยหนึ่งคือ เป็นภาษาที่เราใช้สื่อสารกับฐานข้อมูล เพื่อสั่งให้ฐานข้อมูลทำสิ่งต่างๆ เช่น สร้างตาราง, เพิ่มข้อมูล, แก้ไขข้อมูล, ลบข้อมูล และ ที่สำคัญที่สุดคือ ดึงข้อมูลที่เราต้องการ
  • ​สิ่งที่มักเข้าใจผิดเกี่ยวกับ SQL
○ ระบบจัดการฐานข้อมูล (DBMS)
SQL เป็นเพียงภาษาที่ใช้สื่อสารกับ DBMS ต่างๆ เช่น MySQL, PostgreSQL, Oracle, SQL Server เป็นต้น
○ ภาษาโปรแกรมมิ่งทั่วไป SQL เน้นไปที่การจัดการข้อมูลในฐานข้อมูล ไม่ได้มีความสามารถในการสร้างแอปพลิเคชันที่มีตรรกะการทำงานที่ซับซ้อนเหมือนภาษาโปรแกรมมิ่งอื่นๆ (แม้ว่าบาง DBMS จะมีส่วนขยายให้ทำบางอย่างคล้ายคลึงได้)
  • ​SQL ทำงานอย่างไร
1) ผู้ใช้/แอปพลิเคชัน
สร้างคำสั่ง SQL ตามความต้องการ เช่น ต้องการดึงข้อมูลลูกค้าทั้งหมด หรือ ต้องการเพิ่มสินค้าใหม่ลงในฐานข้อมูล
1
2) ส่งคำสั่ง (Query)
คำสั่ง SQL จะถูกส่งไปยัง DBMS
1
3) DBMS ตีความ (Parse) DBMS จะวิเคราะห์โครงสร้าง และ ความหมายของคำสั่ง SQL เพื่อทำความเข้าใจว่าต้องการให้ทำอะไร
4) DBMS ดำเนินการ (Execute)
DBMS จะเข้าถึง และ จัดการข้อมูลในฐานข้อมูลตามคำสั่ง SQL ที่ได้รับ
5) ส่งผลลัพธ์ (Result)
DBMS จะส่งผลลัพธ์กลับไปยังผู้ใช้/แอปพลิเคชัน ซึ่งอาจเป็นชุดข้อมูลที่ถูกดึงมา, ข้อความแสดงความสำเร็จ/ล้มเหลวของการดำเนินการ เป็นต้น
  • ​ประเภทของ SQL
○ Data Definition Language (DDL)
ใช้ในการกำหนดโครงสร้างของฐานข้อมูล และ วัตถุต่างๆ ภายในฐานข้อมูล เช่น ตาราง, ดัชนี, ผู้ใช้
- CREATE TABLE
สร้างตารางใหม่
- ALTER TABLE
แก้ไขโครงสร้างตารางที่มีอยู่
- DROP TABLE
ลบตาราง
- CREATE INDEX
สร้างดัชนีเพื่อเพิ่มประสิทธิภาพในการค้นหา
- DROP INDEX
ลบดัชนี
○ Data Manipulation Language (DML)
ใช้ในการจัดการข้อมูลภายในตาราง
- SELECT
ดึงข้อมูลจากตาราง
- INSERT INTO
เพิ่มข้อมูลใหม่ลงในตาราง
- UPDATE
แก้ไขข้อมูลที่มีอยู่ในตาราง
- DELETE FROM
ลบข้อมูลออกจากตาราง
○ Data Control Language (DCL)
ใช้ในการควบคุมการเข้าถึง และ การจัดการสิทธิ์ของผู้ใช้ในฐานข้อมูล
- GRANT
ให้สิทธิ์การเข้าถึง หรือ ดำเนินการบางอย่างแก่ผู้ใช้
- REVOKE
ถอนสิทธิ์ที่เคยให้แก่ผู้ใช้
○ Transaction Control Language (TCL)
ใช้ในการจัดการการทำธุรกรรม (Transaction) ในฐานข้อมูล
- COMMIT
บันทึกการเปลี่ยนแปลงทั้งหมดในธุรกรรมอย่างถาวร
- ROLLBACK
ยกเลิกการเปลี่ยนแปลงทั้งหมดในธุรกรรมกลับไปยังสถานะก่อนหน้า
- SAVEPOINT
สร้างจุดบันทึกภายในธุรกรรมเพื่อให้สามารถย้อนกลับไปยังจุดนั้นได้
  • ​ประโยชน์
○ มาตรฐาน
เป็นภาษามาตรฐานที่ใช้กันอย่างแพร่หลายในระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ทำให้ง่ายต่อการเรียนรู้ และ ใช้งานกับ DBMS ที่หลากหลาย
○ มีประสิทธิภาพ
ออกแบบมาเพื่อการจัดการ และ ดึงข้อมูลจำนวนมากได้อย่างมีประสิทธิภาพ
○ ยืดหยุ่น
สามารถเขียนคำสั่งที่ซับซ้อนเพื่อดึงข้อมูลที่ต้องการได้อย่างละเอียด
○ บูรณาการง่าย
สามารถใช้งานร่วมกับภาษาโปรแกรมมิ่งอื่นๆ เพื่อสร้างแอปพลิเคชันที่ทำงานกับฐานข้อมูลได้
○ จัดการข้อมูลเชิงสัมพันธ์ เหมาะสมอย่างยิ่งสำหรับการจัดการข้อมูลที่มีความสัมพันธ์กันในรูปแบบตาราง
  • ​ตัวอย่างการใช้งาน
สมมติว่าเรามีตารางชื่อ `Customers` ที่มีคอลัมน์ `CustomerID`, `FirstName`, `LastName`, และ `City`
2
🟢 ดึงข้อมูลลูกค้าทั้งหมด
sql
SELECT * FROM Customers;
1
🟢 ดึงชื่อ และ นามสกุลของลูกค้าที่อยู่ในเมือง 'Bangkok'
sql
SELECT FirstName, LastName FROM Customers WHERE City = 'Bangkok';
1
🟢 เพิ่มลูกค้าใหม่
sql
INSERT INTO Customers (CustomerID, FirstName, LastName, City)
VALUES (101, 'Alice', 'Smith', 'New York');
1
🟢 แก้ไขเมืองของลูกค้าที่มี CustomerID เท่ากับ 101 เป็น 'London'
sql
UPDATE Customers
SET City = 'London'
WHERE CustomerID = 101;
1
🟢 ลบลูกค้าที่มี CustomerID เท่ากับ 101
sql
DELETE FROM Customers
WHERE CustomerID = 101;
1
🟢 สร้างตารางใหม่ชื่อ `Orders` ที่มีคอลัมน์ `OrderID`, `CustomerID`, และ `OrderDate`
1
sql
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
OrderDate DATE
);
2
✏️ Shoper Gamer
Credit :
👇
  • ​https://www.w3schools.com/sql/sql_intro.asp
  • ​https://www.techtarget.com/searchdatamanagement/definition/SQL
  • ​https://www.blockdit.com/posts/668e32ea2dcd4f5065ace95e
  • ​https://www.blockdit.com/posts/668f42c1baaedd614a698847
  • ​https://www.blockdit.com/posts/6690a6272662699002bd28d4

ดูเพิ่มเติมในซีรีส์

โฆษณา