คำสั่ง SQL: DQL, DDL, DML, DCL และ TCL พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
คำสั่ง SQL แบ่งออกเป็นห้าภาษาย่อยที่ใช้จัดการฐานข้อมูลเชิงสัมพันธ์ ได้แก่ DDL สำหรับกำหนดโครงสร้าง DML สำหรับเปลี่ยนแปลงข้อมูล DCL สำหรับควบคุมการเข้าถึง TCL สำหรับจัดการธุรกรรม และ DQL สำหรับดึงข้อมูล โดยแต่ละภาษาย่อยจะมีชุดคำสั่งและไวยากรณ์เฉพาะของตนเอง
SQL คืออะไร?
SQL เป็นภาษาฐานข้อมูลที่ออกแบบมาสำหรับการดึงและการจัดการข้อมูลในฐานข้อมูลเชิงสัมพันธ์
SQL เป็นภาษามาตรฐานสำหรับการจัดการฐานข้อมูล ระบบ RDBMS ทั้งหมดเช่น MySQL, เอ็มเอส แอคเซส, OracleSybase, Postgres และ SQL Server ใช้ SQL เป็นภาษาฐานข้อมูลมาตรฐาน ภาษาโปรแกรม SQL ใช้คำสั่งต่างๆ สำหรับการดำเนินการที่แตกต่างกัน เราจะเรียนรู้เกี่ยวกับคำสั่ง DCL, TCL, DQL, DDL และ DML ใน SQL พร้อมตัวอย่าง
ทำไมต้องใช้ SQL?
ต่อไปนี้คือเหตุผลสำคัญในการใช้ SQL:
- ช่วยให้ผู้ใช้เข้าถึงข้อมูลใน ระบบอาร์ดีบีเอ็มเอส.
- มันช่วยให้คุณอธิบายข้อมูลได้
- ช่วยให้คุณสามารถกำหนดข้อมูลในฐานข้อมูลและจัดการข้อมูลเฉพาะนั้นได้
- ด้วยความช่วยเหลือของคำสั่ง SQL คุณสามารถสร้างและลบฐานข้อมูลและตารางได้
- SQL ช่วยให้คุณสามารถใช้ฟังก์ชันในฐานข้อมูล และสร้างมุมมอง (views) และโพรซีเดอร์ที่จัดเก็บไว้ (stored procedures) ได้
- คุณสามารถตั้งค่าสิทธิ์บนตาราง ขั้นตอน และมุมมองได้
ประวัติโดยย่อของ SQL
นี่คือสถานที่สำคัญต่างๆ จากที่นี่ ประวัติของ SQL:
- พ.ศ. 1970 (ค.ศ. XNUMX) – ดร. เอ็ดการ์ เอฟ “เท็ด” คอดด์ บรรยายถึงแบบจำลองเชิงสัมพันธ์สำหรับฐานข้อมูล
- ปี 1974 – ภาษาการสอบถามเชิงโครงสร้าง (Structured Query Language) ปรากฏขึ้น โดยเดิมทีมีชื่อว่า SEQUEL IBM.
- 1979 - Oracle เปิดตัวฐานข้อมูล SQL ตัวแรกที่วางจำหน่ายในเชิงพาณิชย์ โดยอิงจาก IBMต้นแบบงานวิจัย System R ของเขา
- ปี 1986 – ANSI ได้เผยแพร่มาตรฐาน SQL ฉบับแรก คือ SQL-86
- ปี 1989 – SQL-89 ได้ถูกนำเสนอเป็นฉบับปรับปรุงครั้งแรกของมาตรฐานนี้
- ปี 1992 – SQL-92 (SQL2) กลายเป็นมาตรฐานหลักที่ฐานข้อมูลส่วนใหญ่ยังคงใช้อ้างอิงอยู่ในปัจจุบัน
- ปี 1999 – SQL:1999 (SQL3) เปิดตัวพร้อมคุณสมบัติใหม่ เช่น ทริกเกอร์ การค้นหาแบบเรียกซ้ำ และการเขียนโปรแกรมเชิงวัตถุ
- ปี 2003 – SQL:2003 เพิ่มฟังก์ชัน Window, ตัวสร้างลำดับ และคุณสมบัติที่เกี่ยวข้องกับ XML
- 2006 – SQL:2006 เพิ่มการรองรับภาษาการสืบค้นข้อมูลด้วย XML (XQuery)
- ปี 2008 – SQL:2008 ได้นำเสนอคำสั่ง TRUNCATE และทริกเกอร์ INSTEAD OF
- 2011 – SQL:2011 ปรับปรุงการรองรับฐานข้อมูลเชิงเวลาให้ดียิ่งขึ้น
- 2016 – SQL:2016 เพิ่มการรองรับ JSON และการจับคู่รูปแบบแถว (MATCH_RECOGNIZE)
- ปี 2019 – SQL/MDA (ส่วนที่ 15) เพิ่มการรองรับอาร์เรย์หลายมิติลงในมาตรฐาน
- 2023 – SQL:2023 เพิ่มชนิดข้อมูล JSON ดั้งเดิมและคิวรีกราฟคุณสมบัติ (SQL/PGQ)
- ปี 2024 – GQL ซึ่งเป็นภาษาฐานข้อมูล ISO ใหม่ภาษาแรกนับตั้งแต่ SQL ได้รับการเผยแพร่ในฐานะมาตรฐานเสริมสำหรับการสืบค้นกราฟ
- ปี 2026 – SQL:2023 ยังคงเป็นมาตรฐานปัจจุบัน โดยมาตรฐานฉบับปรับปรุงครั้งต่อไปอยู่ระหว่างการพัฒนาโดย ISO/IEC
ประเภทของคำสั่ง SQL
ต่อไปนี้คือคำสั่ง SQL 5 ประเภทที่ใช้กันอย่างแพร่หลาย:
- ภาษานิยามข้อมูล (DDL)
- ภาษาการจัดการข้อมูล (DML)
- ภาษาควบคุมข้อมูล (DCL)
- ภาษาควบคุมการทำธุรกรรม (TCL)
- ภาษาคิวรีข้อมูล (DQL)

ตารางด้านล่างนี้สรุปหมวดหมู่ทั้งห้าก่อนที่จะอธิบายรายละเอียดในแต่ละหมวดหมู่
| Category | จุดมุ่งหมาย | คำสั่งหลัก |
|---|---|---|
| DDL | กำหนดโครงสร้าง | สร้าง ลบ แก้ไข ตัดทอน |
| ดราก้อน | แก้ไขข้อมูล | เพิ่มข้อมูล อัปเดตข้อมูล ลบข้อมูล |
| DCL | ควบคุมการเข้าถึง | อนุมัติ, เพิกถอน |
| ทีซีแอล | จัดการธุรกรรม | ยืนยัน, ย้อนกลับ, บันทึกจุด |
| ดีคิวแอล | ดึงข้อมูล | SELECT |
DDL คืออะไร?
ภาษานิยามข้อมูล (Data Definition Language หรือ DDL) ช่วยให้คุณกำหนดโครงสร้างหรือสคีมาของฐานข้อมูล มาเรียนรู้เกี่ยวกับคำสั่ง DDL พร้อมไวยากรณ์กัน คำสั่ง DDL หลักใน SQL ได้แก่ CREATE, DROP, ALTER และ TRUNCATE
สร้าง
คำสั่ง CREATE ใช้สำหรับกำหนดโครงสร้างหรือสคีมาของฐานข้อมูล:
ไวยากรณ์:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
ตัวอย่างเช่น:
Create database university; Create table students; Create view for_students;
DROP
คำสั่ง DROP ใช้สำหรับลบตารางและฐานข้อมูลออกจากระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS)
ไวยากรณ์:
DROP TABLE ;
ตัวอย่างเช่น:
Drop object_type object_name; Drop database university; Drop table student;
แก้ไข
คำสั่ง ALTER ช่วยให้คุณสามารถแก้ไขโครงสร้างของฐานข้อมูลได้
ไวยากรณ์: วิธีการเพิ่มคอลัมน์ใหม่ในตาราง:
ALTER TABLE table_name ADD column_name COLUMN-definition;
หากต้องการแก้ไขคอลัมน์ที่มีอยู่ในตาราง:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
ตัวอย่างเช่น:
Alter table guru99 add subject varchar;
ตัด
คำสั่งนี้ใช้เพื่อลบแถวทั้งหมดออกจากตารางและเพิ่มพื้นที่ว่างในตาราง
ไวยากรณ์:
TRUNCATE TABLE table_name;
ตัวอย่าง:
TRUNCATE table students;
ภาษาการจัดการข้อมูลคืออะไร?
ภาษาจัดการข้อมูล (DML) ช่วยให้คุณสามารถแก้ไขฐานข้อมูลได้โดยการแทรก แก้ไข และลบข้อมูล DML มีหน้าที่ในการดำเนินการแก้ไขข้อมูลทุกประเภทในฐานข้อมูล คำสั่ง DML ที่สำคัญใน SQL ได้แก่:
- INSERT
- อัพเดท
- ลบ
INSERT
คำสั่งนี้ใช้สำหรับแทรกข้อมูลลงในแถวของตาราง
ไวยากรณ์:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
ตัวอย่างเช่น:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
อัพเดท
คำสั่งนี้ใช้เพื่ออัพเดตหรือแก้ไขค่าของคอลัมน์ในตาราง
ไวยากรณ์:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
ตัวอย่างเช่น:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
ลบ
คำสั่งนี้ใช้เพื่อลบหนึ่งแถวขึ้นไปออกจากตาราง
ไวยากรณ์:
DELETE FROM table_name [WHERE condition];
ตัวอย่างเช่น:
DELETE FROM students WHERE FirstName = 'Jhon';
ดีซีแอลคืออะไร?
DCL (Data Control Language) ประกอบด้วยคำสั่งต่างๆ เช่น GRANT และ REVOKE ซึ่งมีประโยชน์ในการให้สิทธิ์และการอนุญาต นอกจากนี้ยังมีคำสั่งอื่นๆ ที่ใช้ควบคุมพารามิเตอร์ของระบบฐานข้อมูล
ให้
คำสั่งนี้ใช้สำหรับให้สิทธิ์การเข้าถึงฐานข้อมูลแก่ผู้ใช้
ไวยากรณ์:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
ตัวอย่างเช่น:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revถูก
คำสั่งนี้มีประโยชน์ในการเรียกคืนสิทธิ์การเข้าถึงจากผู้ใช้
ไวยากรณ์:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
ตัวอย่างเช่น:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
ทีซีแอลคืออะไร?
คำสั่ง Transaction Control Language หรือ TCL เกี่ยวข้องกับการจัดการธุรกรรมภายในฐานข้อมูล โดยทำงานโดยตรงกับสถานะต่างๆ ที่อธิบายไว้ด้านล่าง การจัดการธุรกรรม.
กระทำ
คำสั่งนี้ใช้เพื่อบันทึกธุรกรรมทั้งหมดลงฐานข้อมูล
ไวยากรณ์:
Commit;
ตัวอย่างเช่น:
DELETE FROM Students WHERE RollNo =25; COMMIT;
ย้อนกลับ
คำสั่ง Rollback ช่วยให้คุณสามารถยกเลิกธุรกรรมที่ยังไม่ได้บันทึกไปยังฐานข้อมูลได้
ไวยากรณ์:
ROLLBACK;
ตัวอย่าง:
DELETE FROM Students WHERE RollNo =25;
ประหยัด
คำสั่งนี้ช่วยให้คุณตั้งค่าจุดบันทึก (savepoint) ภายในธุรกรรมได้
ไวยากรณ์:
SAVEPOINT SAVEPOINT_NAME;
ตัวอย่าง:
SAVEPOINT RollNo;
ดีคิวแอลคืออะไร?
ภาษาการสอบถามข้อมูล (DQL) ใช้สำหรับดึงข้อมูลจากฐานข้อมูล โดยใช้คำสั่งเพียงคำสั่งเดียว คือ SELECT
SELECT
คำสั่งนี้ช่วยให้คุณเลือกแอตทริบิวต์ตามเงื่อนไขที่ระบุโดยส่วน WHERE
ไวยากรณ์:
SELECT expressions FROM TABLES WHERE conditions;
ตัวอย่างเช่น:
SELECT FirstName FROM Student WHERE RollNo > 15;
ลบ เทียบกับ ตัดทอน เทียบกับ ลบทิ้ง
คำสั่งทั้งสามนี้ล้วนลบข้อมูล แต่แตกต่างกันในสิ่งที่ลบและว่าสามารถย้อนกลับการกระทำได้หรือไม่ การสับสนระหว่างคำสั่งเหล่านี้เป็นความผิดพลาดที่พบบ่อยในหมู่ผู้เริ่มต้น
| แง่มุม | ลบ | ตัด | DROP |
|---|---|---|---|
| Category | ดราก้อน | DDL | DDL |
| ลบ | แถวที่เลือก | ทุกแถว | โต๊ะทั้งโต๊ะ |
| WHERE ข้อ | ได้รับอนุญาต | ไม่ได้รับอนุญาต | ไม่สามารถใช้งาน |
| ย้อนกลับ | เป็นไปได้ | มักจะไม่ | เป็นไปไม่ได้ |
| โครงสร้างยังคงอยู่ | มี (ใบกำกับภาษีเต็มรูปแบบ) | มี (ใบกำกับภาษีเต็มรูปแบบ) | ไม่ |
โดยสรุปแล้ว ให้ใช้คำสั่ง DELETE เพื่อลบแถวที่ต้องการ ใช้คำสั่ง TRUNCATE เพื่อล้างตารางอย่างรวดเร็ว และใช้คำสั่ง DROP เพื่อลบตารางทั้งหมด

