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

จะเปลี่ยนตำแหน่งคอลัมน์ของตาราง MySQL โดยไม่สูญเสียข้อมูลคอลัมน์ได้อย่างไร


คุณสามารถเปลี่ยนตำแหน่งคอลัมน์ของตาราง MySQL ได้โดยไม่สูญเสียข้อมูลโดยใช้คำสั่ง ALTER TABLE ไวยากรณ์มีดังนี้ −

เปลี่ยนตาราง yourTableName แก้ไขประเภทข้อมูล yourColumnName1 หลัง yourColumnName2;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางที่มีบางคอลัมน์มีดังนี้ -

mysql> สร้างตาราง changeColumnPositionDemo−> (−> StudentId int,−> StudentAddress varchar(200),−> StudentAge int,−> StudentName varchar(200)−> );Query OK, 0 แถวได้รับผลกระทบ (0.72 วินาที) 

ให้เราแทรกข้อมูลบางส่วนในตาราง แบบสอบถามเพื่อแทรกระเบียนมีดังนี้ -.

mysql> แทรกลงในค่า changeColumnPositionDemo (101,'US',23,'Johnson');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า changeColumnPositionDemo (102,'UK',20,'John '); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า changeColumnPositionDemo (103,'US',22,'Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.39 วินาที) mysql> แทรกลงในค่า changeColumnPositionDemo ( 104,'UK',19,'Sam');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก changeColumnPositionDemo;

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

<ก่อนหน้า>+-----------+----------------+-----------+---- ---------+| รหัสนักศึกษา | ที่อยู่นักศึกษา | StudentAge | ชื่อนักเรียน |+-----------+----------+-----------+----- --------+| 101 | คุณ | 23 | จอห์นสัน || 102 | สหราชอาณาจักร | 20 | จอห์น || 103 | สหรัฐอเมริกา | 22 | แครอล || 104 | สหราชอาณาจักร | 19 | แซม |+-----------+--------------------------------------+---- --------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเปลี่ยนตำแหน่งคอลัมน์โดยไม่สูญเสียข้อมูล เรากำลังเปลี่ยนคอลัมน์ "StudentAddress" ให้อยู่หลังคอลัมน์ "StudentAge" -

mysql> เปลี่ยนตาราง changeColumnPositionDemo MODIFY StudentAddress varchar(200) AFTER StudentAge;Query OK, 0 แถวได้รับผลกระทบ (2.27 วินาที)ระเบียน:0 รายการซ้ำ:0 คำเตือน:0

ด้านบนเราได้ตั้งค่าคอลัมน์ StudentAddress หลังชื่อคอลัมน์ StudentAge

ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบว่าสองคอลัมน์ข้างต้นมีการเปลี่ยนแปลงหรือไม่โดยไม่สูญเสียข้อมูล -

mysql> เลือก *จาก changeColumnPositionDemo;

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

<ก่อนหน้า>+-----------+-----------+----------+---- ---------+| รหัสนักศึกษา | StudentAge | ที่อยู่นักศึกษา | ชื่อนักเรียน |+-----------+-----------+----------+----- --------+| 101 | 23 | สหรัฐอเมริกา | จอห์นสัน || 102 | 20 | สหราชอาณาจักร | จอห์น || 103 | 22 | สหรัฐอเมริกา | แครอล || 104 | 19 | สหราชอาณาจักร | แซม |+-----------+--------------------+----------------+----- --------+4 แถวในชุด (0.00 วินาที)