Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm cột từ bảng khác vào bảng hiện tại trong MySQL

Tóm tắt

Có thể thêm cột mới vào bảng A, sau đó UPDATE kết hợp JOIN với bảng B để điền dữ liệu từ cột của B.

Các bước

1. Tạo 2 bảng

CREATE TABLE FirstTable (UserId INT, UserName VARCHAR(20));
CREATE TABLE SecondTable (UserId INT, UserAge INT);

2. Thêm cột Age vào FirstTable

ALTER TABLE FirstTable ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0;

3. UPDATE JOIN để copy dữ liệu

UPDATE FirstTable t1
INNER JOIN SecondTable t2 ON t1.UserId = t2.UserId
SET t1.Age = t2.UserAge;

4. Kết quả DESC

+----------+---------------------+------+-----+---------+-------+
| Field    | Type                | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| UserId   | int(11)             | YES  |     | NULL    |       |
| UserName | varchar(20)         | YES  |     | NULL    |       |
| Age      | tinyint(3) unsigned | YES  |     | 0       |       |
+----------+---------------------+------+-----+---------+-------+

Lưu ý

  • JOIN chỉ cập nhật hàng có khóa khớp – hàng không khớp giữ DEFAULT (0).
  • Dùng LEFT JOIN nếu muốn giữ tất cả hàng bảng A (NULL cho không khớp).
  • Có thể thêm nhiều cột cùng lúc: ADD COLUMN Age ..., ADD COLUMN City ... rồi UPDATE nhiều cột.
  • Đảm bảo kiểu dữ liệu tương thích (INT → TINYINT UNSIGNED có thể cắt bớt).