Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้างตาราง MySQL ใหม่จากตารางเดิมโดยเลือกเฉพาะแถวที่ต้องการ

ใน 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 ต้องกำหนดเพิ่มเติมหลังสร้างตาราง