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

คำสั่ง SELECT INTO เทียบเท่าใน MySQL

สร้างตารางใหม่จากผลลัพธ์ SELECT ใน MySQL

MySQL ไม่มี SELECT INTO เช่น SQL Server ใช้ CREATE TABLE ... AS SELECT แทน

ไวยากรณ์

CREATE TABLE yourNewTableName AS SELECT * FROM yourTableName;

ตัวอย่าง

CREATE TABLE selectIntoEquivalentDemo (
    ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName VARCHAR(20),
    ClientAge INT
);

INSERT INTO selectIntoEquivalentDemo(ClientName, ClientAge) VALUES
('Larry', 34), ('Maxwell', 44), ('Bob', 38), ('David', 39);

สร้างตารางใหม่จากข้อมูลเดิม

CREATE TABLE Client_information AS SELECT * FROM selectIntoEquivalentDemo;

ผลลัพธ์

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | Larry      | 34        |
| 2        | Maxwell    | 44        |
| 3        | Bob        | 38        |
| 4        | David      | 39        |
+----------+------------+-----------+

ข้อควรระวัง

  • ไม่คัดลอก Index, Primary Key, Auto Increment, Foreign Key
  • คัดลอกเฉพาะโครงสร้างคอลัมน์และข้อมูล
  • ต้องเพิ่ม Constraint เองหลังสร้างตาราง

ตัวเลือกอื่น: CREATE TABLE LIKE + INSERT

CREATE TABLE new_table LIKE old_table;
INSERT INTO new_table SELECT * FROM old_table;

วิธีนี้คัดลอกโครงสร้างเต็มรูปแบบ (รวม Index, PK)