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

สร้างแบบสอบถาม MySQL เพื่อสร้างตารางจากตารางที่มีอยู่?


คุณสามารถใช้คำสั่ง CREATE TABLE เพื่อสร้างตารางจากตารางที่มีอยู่ ไวยากรณ์มีดังนี้:

สร้างตาราง yourNewTableName LIKE yourOldTableName

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง ShowCreateTableCommand -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> FirstName varchar(20), -> LastName varchar(20), -> Age int, -> TotalMarks int, -> PRIMARY KEY( Id) -> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.22 วินาที)

นี่คือแบบสอบถามเพื่ออธิบายตารางโดยใช้คำสั่ง DESC แบบสอบถามมีดังนี้:

mysql> อธิบาย ShowCreateTableCommand;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+------------+-------------+------+----+------ ---------------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-----------+-------------+------+ -----+------- ---+----------------+| รหัส | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อจริง | varchar(20) | ใช่ | | NULL | || นามสกุล | varchar(20) | ใช่ | | NULL | || อายุ | int(11) | ใช่ | | NULL | || TotalMarks | int(11) | ใช่ | | NULL | |+------------+-------------+------+----+-------- -+----------------+5 แถวในชุด (0.11 วินาที)

นี่คือแบบสอบถามเพื่อตรวจสอบโครงสร้างของตาราง:

mysql> แสดงสร้างตาราง ShowCreateTableCommand\G

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>****************************** 1. แถว ***************** ********** ตาราง:ShowCreateTableCommandCreate ตาราง:CREATE TABLE `showcreatetablecommand' ( `Id` int (11) ไม่ใช่ NULL AUTO_INCREMENT, `FirstName' varchar (20) DEFAULT NULL, `LastName' varchar (20) ค่าเริ่มต้น NULL, `Age` int(11) ค่าเริ่มต้น NULL, `TotalMarks` int(11) ค่าเริ่มต้น NULL, คีย์หลัก (`Id`)) ENGINE =InnoDB DEFAULT CHARSET =utf8mb4 COLLATE =utf8mb4_0900_ai_ci1) แถวในชุด (0.00 วินาที)>

ให้เราสร้างตารางใหม่จากตารางที่มีอยู่โดยใช้คำสั่ง CREATE TABLE แบบสอบถามมีดังนี้:

mysql> CREATE TABLE StudentInformationDemo LIKE ShowCreateTableCommand; สอบถามตกลง 0 แถวได้รับผลกระทบ (0.49 วินาที)

ตอนนี้ตรวจสอบว่าโครงสร้างของตารางใหม่ตรงกับโครงสร้างตารางเก่าหรือไม่:

mysql> แสดงสร้างตาราง StudentInformationDemo\G

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>****************************** 1. แถว ***************** ********** ตาราง:StudentInformationDemoCreate ตาราง:CREATE TABLE `studentinformationdemo' ( `Id` int (11) ไม่ใช่ NULL AUTO_INCREMENT, `FirstName' varchar (20) DEFAULT NULL, `LastName' varchar (20) DEFAULT NULL, `Age` int(11) ค่าเริ่มต้น NULL, `TotalMarks` int(11) ค่าเริ่มต้น NULL, คีย์หลัก (`Id`)) ENGINE =InnoDB DEFAULT CHARSET =utf8mb4 COLLATE =utf8mb4_0900_ai_ci1) แถวในชุด (0.00 วินาที)>