การสร้าง View ใน MySQL
View สร้างด้วยคำสั่ง CREATE VIEW สามารถสร้างจากตารางเดียว หลายตาราง หรือ View อื่น ผู้ใช้ต้องมีสิทธิ์ที่เหมาะสม
ไวยากรณ์เต็มรูปแบบ
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
คำอธิบายแต่ละส่วน
- CREATE VIEW - สร้าง View ใหม่
- view_name - ชื่อ View 属于ฐานข้อมูลปัจจุบันโดยค่าเริ่มต้น
- select_statement - คำสั่ง SELECT ที่กำหนดข้อมูลของ View
- column_list - (ตัวเลือก) รายชื่อคอลัมน์ของ View ต้องไม่ซ้ำ และจำนวนเท่ากับ SELECT
- OR REPLACE - แทนที่ View เดิมถ้ามีอยู่แล้ว
- ALGORITHM - (ตัวเลือก) วิธีประมวลผล: MERGE, TEMPTABLE, UNDEFINED (ค่าเริ่มต้น)
- DEFINER / SQL SECURITY - กำหนดบริบทความปลอดภัยขณะเรียกใช้ View
- WITH CHECK OPTION - ป้องกันการแทรก/แก้ไขแถวที่ไม่ตรงเงื่อนไข WHERE
ตัวอย่าง
mysql> SELECT * FROM Customers;
+-------------+----------+
| Customer_Id | Name |
+-------------+----------+
| 1 | Rahul |
| 2 | Yashpal |
| 3 | Gaurav |
| 4 | Virender |
+-------------+----------+
mysql> CREATE VIEW First_View AS SELECT * FROM Customers;
Query OK, 0 rows affected (0.36 sec)
mysql> SELECT * FROM First_View;
+-------------+----------+
| Customer_Id | Name |
+-------------+----------+
| 1 | Rahul |
| 2 | Yashpal |
| 3 | Gaurav |
| 4 | Virender |
+-------------+----------+