คำสั่ง CREATE TABLE ... AS SELECT จาก View
สามารถสร้างตารางใหม่โดยคัดลอกโครงสร้างและข้อมูลจาก View ได้ในคำสั่งเดียว
รูปแบบคำสั่ง (Syntax)
CREATE TABLE new_table_name AS
SELECT column1, column2, ...
FROM view_name;
ตัวอย่างขั้นตอนครบถ้วน
1. สร้างตารางต้นทาง
CREATE TABLE StudentInformation (
Id INT,
Name VARCHAR(100)
);
2. สร้าง View
CREATE VIEW view_Student AS
SELECT Id, Name FROM StudentInformation;
3. สร้างตารางใหม่จาก View
CREATE TABLE CreatingTableUsingViewStudent AS
SELECT Id, Name FROM view_Student;
4. ตรวจสอบโครงสร้างตารางใหม่
SHOW CREATE TABLE CreatingTableUsingViewStudent;
ผลลัพธ์:
CREATE TABLE `creatingtableusingviewstudent` (
`Id` int(11) DEFAULT NULL,
`Name` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
จุดสำคัญ:
- ตารางใหม่จะมีโครงสร้างตาม SELECT ที่ระบุ
- ข้อมูลจะถูกคัดลอกมาด้วย (ถ้า View มีข้อมูล)
- Index, Primary Key, Foreign Key, Trigger จะ ไม่ถูกคัดลอก ต้องสร้างใหม่แยกต่างหาก
- ใช้สำหรับ Backup, Archive, หรือสร้างตารางสำหรับ Reporting