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

เราสามารถเพิ่มคอลัมน์จากตารางอื่นใน MySQL ลงในตารางได้หรือไม่


ได้ เราสามารถเพิ่มคอลัมน์ลงในตารางจากตารางอื่นได้ ให้เราสร้างสองตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง FirstTable -> ( -> UserId int, -> UserName varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (1.48 วินาที)

ตอนนี้สร้างตารางที่สอง แบบสอบถามเพื่อสร้างตารางที่สองมีดังนี้ −

mysql> สร้างตาราง SecondTable -> ( -> UserId int, -> UserAge int -> );Query OK, 0 แถวได้รับผลกระทบ (1.57 วินาที)

ตอนนี้เพิ่มคอลัมน์อายุลงในตารางแรก ขั้นแรก เพิ่มคอลัมน์อายุ จากนั้นใช้คำสั่ง UPDATE เพื่อตั้งค่าคอลัมน์อายุนี้เป็นคอลัมน์ UserAge ของ SecondTable แบบสอบถามมีดังนี้ −

mysql> ALTER TABLE FirstTable ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0 ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.53 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ต่อไปนี้คือแบบสอบถามเพื่ออัปเดตตารางแรกเพื่อตั้งค่าคอลัมน์อายุเป็นคอลัมน์ UserAge ของ SecondTable แบบสอบถามมีดังนี้ −

mysql> อัปเดต FirstTable tbl1 -> เข้าร่วมภายใน SecondTable tbl2 บน tbl1.UserId =tbl2.UserId -> SET tbl1.Age =tbl2.UserAge; Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที) แถวที่ตรงกัน:0 เปลี่ยนแล้ว:0 คำเตือน:0

ตรวจสอบคำอธิบายของตารางแรกโดยใช้คำสั่ง DESC แบบสอบถามมีดังนี้ −

mysql> อธิบาย FirstTable;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงว่าเราเพิ่มคอลัมน์จากตารางอื่นสำเร็จแล้ว -

<ก่อนหน้า>+----------+---------------------+------+----+ ---------+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+----------+---------------------+------+----+- --------+-------+| รหัสผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(20) | ใช่ | | NULL | || อายุ | tinyint(3) unsigned | ใช่ | | 0 | |+----------+---------------------+------+----+-- --------+-------+3 แถวในชุด (0.53 วินาที)