Mysql cập nhật nhiều bảng cùng một lúc

Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh MySQL UPDATE JOIN để thực hiện cập nhật chéo bảng. Chúng tôi sẽ hướng dẫn bạn từng bước cách sử dụng mệnh đề

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]
9  và mệnh đề

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
0  với câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1

MySQL UPDATE THAM GIA cú pháp

Bạn thường sử dụng phép nối để truy vấn các hàng từ một bảng có [trong trường hợp của

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
0] hoặc có thể không có [trong trường hợp của

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1] các hàng phù hợp trong một bảng khác. Trong MySQL, bạn có thể sử dụng mệnh đề

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
2 trong câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1 để thực hiện cập nhật bảng chéo

Cú pháp của MySQL

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
4  như sau

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]

Hãy xem xét cú pháp MySQL

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
4 chi tiết hơn

  • Đầu tiên, chỉ định bảng chính [

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    6 ] và bảng mà bạn muốn bảng chính tham gia [

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    7 ] sau mệnh đề

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    1. Lưu ý rằng bạn phải chỉ định ít nhất một bảng sau mệnh đề

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    1  . Dữ liệu trong bảng không được chỉ định sau mệnh đề

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    1 sẽ không được cập nhật
  • Tiếp theo, chỉ định loại liên kết bạn muốn sử dụng. e. ,

    UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

    Code language: SQL [Structured Query Language] [sql]
    9  hoặc

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    0  và một vị từ nối. Mệnh đề

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    2 phải xuất hiện ngay sau mệnh đề

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    1
  • Sau đó, gán giá trị mới cho các cột trong bảng

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    6 và/hoặc

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    7 mà bạn muốn cập nhật
  • Sau đó, chỉ định một điều kiện trong mệnh đề

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    17 để giới hạn các hàng thành các hàng để cập nhật

Nếu bạn làm theo hướng dẫn về câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
18, bạn sẽ nhận thấy rằng có một cách khác để cập nhật bảng chéo dữ liệu bằng cú pháp sau

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]

Câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1  này hoạt động tương tự như 

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
4  với một mệnh đề

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]
9  ngầm. Nó có nghĩa là bạn có thể viết lại câu lệnh trên như sau

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1

Hãy cùng xem một số ví dụ về cách sử dụng câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
4  để hiểu rõ hơn

MySQL UPDATE THAM GIA ví dụ

Chúng tôi sẽ sử dụng cơ sở dữ liệu mẫu mới có tên

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
73 để trình diễn. Cơ sở dữ liệu mẫu này bao gồm hai bảng

  • Bảng 

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    74 lưu trữ dữ liệu nhân viên với id, tên, hiệu suất và lương của nhân viên
  • Bảng

    UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

    Code language: SQL [Structured Query Language] [sql]
    75 lưu trữ hiệu suất của nhân viên và tỷ lệ thành tích

Các câu lệnh sau tạo và tải dữ liệu trong cơ sở dữ liệu mẫu

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
73

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
7

Ví dụ MySQL UPDATE JOIN với mệnh đề INNER JOIN

Giả sử bạn muốn điều chỉnh lương của nhân viên dựa trên thành tích của họ

Tỷ lệ phần trăm khen thưởng được lưu trữ trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
75, do đó, bạn phải sử dụng câu lệnh 

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
78 để điều chỉnh lương của nhân viên trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74  dựa trên

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
50 được lưu trữ trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
75

Liên kết giữa bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74  và bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
53 là trường 

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
54  . Xem truy vấn sau

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
5

Cách hoạt động của truy vấn

Chúng tôi chỉ xác định bảng 

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74 sau mệnh đề 

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1 vì chúng tôi chỉ muốn cập nhật dữ liệu trong bảng 

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74

Đối với mỗi hàng trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74, truy vấn sẽ kiểm tra giá trị trong cột hiệu suất so với giá trị trong cột hiệu suất trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
75. Nếu nó tìm thấy kết quả phù hợp, nó sẽ lấy

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
50 trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
75  và cập nhật cột

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
72 trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74  

Vì chúng tôi bỏ qua mệnh đề

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74 trong câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
1 nên tất cả các bản ghi trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
74 được cập nhật

MySQL UPDATE JOIN ví dụ với LEFT JOIN

Giả sử công ty thuê thêm hai nhân viên

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
7

Bởi vì những nhân viên này là nhân viên mới nên dữ liệu hiệu suất của họ không có sẵn hoặc

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
77

Để tăng lương cho nhân viên mới, bạn không thể sử dụng câu lệnh

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
78 vì dữ liệu hiệu suất của họ không có sẵn trong bảng

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
53. Đây là lý do tại sao

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]
50 ra đời để giải cứu

Câu lệnh

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]
50 về cơ bản cập nhật một hàng trong bảng khi nó không có hàng tương ứng trong bảng khác

Ví dụ: bạn có thể tăng lương cho nhân viên mới lên 1. 5%  sử dụng câu lệnh sau

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]
5

Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách sử dụng MySQL

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
4  với mệnh đề

UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition

Code language: SQL [Structured Query Language] [sql]
9  và

UPDATE T1, T2 SET T1.c2 = T2.c2, T2.c3 = expr WHERE T1.c1 = T2.c1 AND condition

Code language: SQL [Structured Query Language] [sql]
0  để thực hiện cập nhật bảng chéo.

Bạn có thể CẬP NHẬT trên nhiều bảng trong MySQL không?

Đối với cú pháp nhiều bảng, UPDATE cập nhật các hàng trong mỗi bảng có tên trong table_references thỏa mãn các điều kiện . Mỗi hàng khớp được cập nhật một lần, ngay cả khi nó khớp với các điều kiện nhiều lần. Đối với cú pháp nhiều bảng, không thể sử dụng ORDER BY và LIMIT.

Bạn có thể CẬP NHẬT nhiều bảng cùng một lúc không?

1 câu trả lời. Không thể cập nhật nhiều bảng trong một câu lệnh , tuy nhiên, bạn có thể sử dụng giao dịch để đảm bảo rằng hai câu lệnh CẬP NHẬT phải được xử lý nguyên tử. Bạn cũng có thể gộp chúng lại để tránh phải quay vòng như thế này. và T1. id = '011008';

DBMS có thể CẬP NHẬT nhiều bản ghi cùng một lúc không?

Cú pháp Cập nhật trong SQL . Chúng ta cũng có thể sử dụng mệnh đề while trong lệnh cập nhật. Đó là lý do tại sao chúng tôi có thể cập nhật nhiều bản ghi cùng một lúc .

Làm cách nào để sử dụng nhiều bảng trong SQL UPDATE khi tham gia?

Cách dễ nhất và phổ biến nhất là sử dụng mệnh đề nối trong câu lệnh cập nhật và sử dụng nhiều bảng trong câu lệnh cập nhật. .
CẬP NHẬT bảng 1
ĐẶT Col 2 = t2. Col2,
Col 3 = t2. Col3
TỪ bảng1 t1
INNER JOIN bảng 2 t2 ON t1. Col1 = t2. cột1
Ở đâu t1. Col1 VÀO [21,31]

Chủ Đề