ใน MySQL สามารถสร้างตารางใหม่จากผลลัพธ์ของคำสั่ง SELECT ได้โดยใช้คำสั่ง CREATE TABLE ... AS SELECT ซึ่งจะคัดลอกโครงสร้างและข้อมูลที่ตรงเงื่อนไขไปยังตารางใหม่
ตัวอย่างการใช้งาน
สร้างตารางต้นฉบับ DemoTable1318 และเพิ่มข้อมูล:
mysql> create table DemoTable1318 (Id int, FirstName varchar(10), LastName varchar(10), Age int); mysql> insert into DemoTable1318 values(1,'Chris','Brown',21); mysql> insert into DemoTable1318 values(2,'David','Miller',24); mysql> insert into DemoTable1318 values(3,'Carol','Taylor',23);
ข้อมูลทั้งหมด:
+------+-----------+----------+------+ | Id | FirstName | LastName | Age | +------+-----------+----------+------+ | 1 | Chris | Brown | 21 | | 2 | David | Miller | 24 | | 3 | Carol | Taylor | 23 | +------+-----------+----------+------+
คำสั่งสร้างตารางใหม่เลือกเฉพาะอายุ 21 และ 23
mysql> create table DemoTable1319 as select * from DemoTable1318 where Age IN(21,23);
ผลลัพธ์ตารางใหม่
+------+-----------+----------+------+ | Id | FirstName | LastName | Age | +------+-----------+----------+------+ | 1 | Chris | Brown | 21 | | 3 | Carol | Taylor | 23 | +------+-----------+----------+------+
หมายเหตุ: คำสั่งนี้จะสร้างโครงสร้างตารางใหม่ตามคอลัมน์ที่ SELECT และคัดลอกข้อมูลไปด้วย แต่ ไม่คัดลอก Index, Primary Key, Auto Increment, Constraints ต้องกำหนดเพิ่มเติมหลังสร้างตาราง