VIEW ใน MySQL คือตารางเสมือนที่สร้างจากคำสั่ง SELECT สามารถใช้งานได้เหมือนตารางทั่วไป รวมถึงการใช้เงื่อนไข WHERE เพื่อกรองข้อมูล ซึ่งช่วยทำให้คำสั่งซับซ้อนง่ายขึ้นและเพิ่มความปลอดภัย
ไวยากรณ์พื้นฐาน
SELECT * FROM your_view_name WHERE your_column = 'value';
ตัวอย่างการใช้งาน
สร้างตารางนักเรียน:
mysql> CREATE TABLE DemoTable1432 (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(20),
-> StudentBranchName VARCHAR(20)
-> );
เพิ่มข้อมูล:
mysql> INSERT INTO DemoTable1432 (StudentName, StudentBranchName) VALUES ('Chris', 'CS');
mysql> INSERT INTO DemoTable1432 (StudentName, StudentBranchName) VALUES ('David', 'CE');
mysql> INSERT INTO DemoTable1432 (StudentName, StudentBranchName) VALUES ('Mike', 'ME');
สร้าง VIEW:
mysql> CREATE VIEW DemoTable1432_View AS SELECT * FROM DemoTable1432;
ใช้ VIEW ร่วมกับ WHERE:
mysql> SELECT * FROM DemoTable1432_View WHERE StudentBranchName = 'CS';
ผลลัพธ์:
+-----------+-------------+-------------------+ | StudentId | StudentName | StudentBranchName | +-----------+-------------+-------------------+ | 1 | Chris | CS | +-----------+-------------+-------------------+
ข้อดีของการใช้ VIEW
- ความปลอดภัย: ควบคุมการเข้าถึงคอลัมน์หรือแถวที่เฉพาะเจาะจง
- ความเรียบง่าย: ซ่อนความซับซ้อนของ JOIN หรือ Subquery
- ความสม่ำเสมอ: ให้อินเทอร์เฟซคงที่แม้โครงสร้างตารางเปลี่ยน
- การบำรุงรักษา: แก้ไขที่ VIEW เดียว ไม่ต้องแก้ทุกคำสั่งที่ใช้
ประเภทของ VIEW
- Simple View: มาจากตารางเดียว ไม่มีฟังก์ชันรวม กลุ่ม ขึ้นกับการอัปเดตได้
- Complex View: มาจากหลายตาราง มี JOIN, GROUP BY, ฟังก์ชันรวม - อาจอัปเดตไม่ได้
คำสั่งที่เกี่ยวข้อง
SHOW CREATE VIEW view_name- ดูโครงสร้าง VIEWDROP VIEW view_name- ลบ VIEWALTER VIEW view_name AS SELECT ...- แก้ไข VIEW