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

Truy vấn CẬP NHẬT trong MySQL là một câu lệnh DML được sử dụng để sửa đổi dữ liệu của bảng. Truy vấn CẬP NHẬT phải yêu cầu mệnh đề SET và WHERE. Mệnh đề SET được sử dụng để thay đổi các giá trị của cột được chỉ định trong mệnh đề WHERE

Mệnh đề THAM GIA trong MySQL được sử dụng trong câu lệnh để truy xuất dữ liệu bằng cách nối nhiều bảng trong một truy vấn

CẬP NHẬT THAM GIA là một câu lệnh MySQL được sử dụng để thực hiện cập nhật giữa các bảng có nghĩa là chúng ta có thể cập nhật một bảng bằng một bảng khác với điều kiện mệnh đề THAM GIA. Truy vấn này cập nhật và thay đổi dữ liệu trong đó có nhiều bảng được nối dựa trên Khóa CHÍNH và Khóa NGOẠI TỆ và một điều kiện nối được chỉ định. Chúng tôi có thể cập nhật một hoặc nhiều cột cùng một lúc bằng cách sử dụng truy vấn CẬP NHẬT

GHI CHÚ. Câu lệnh MySQL UPDATE JOIN được hỗ trợ từ phiên bản 4. 0 hoặc cao hơn

cú pháp

Sau đây là cú pháp cơ bản của câu lệnh UPDATE JOIN để sửa đổi bản ghi trong bảng MySQL

Trong cú pháp MySQL UPDATE JOIN ở trên

Đầu tiên, chúng tôi đã chỉ định hai bảng. bảng chính (Tab1) và một bảng khác (tab2) sau mệnh đề CẬP NHẬT. Sau mệnh đề CẬP NHẬT, cần chỉ định ít nhất một bảng. Tiếp theo, chúng tôi đã chỉ định các loại mệnh đề THAM GIA, tôi. e. , INNER JOIN hoặc LEFT JOIN, xuất hiện ngay sau mệnh đề UPDATE và sau đó là vị từ nối được chỉ định sau từ khóa ON. Sau đó, chúng ta phải gán các giá trị mới cho các cột trong Tab1 và/hoặc Tab2 để sửa đổi trong bảng. Cuối cùng, điều kiện mệnh đề WHERE được sử dụng để giới hạn các hàng để cập nhật

CẬP NHẬT THAM GIA hoạt động như thế nào trong MySQL?

Quá trình làm việc CẬP NHẬT THAM GIA trong MySQL giống như được mô tả trong cú pháp trên. Nhưng đôi khi, chúng tôi thấy rằng truy vấn này một mình thực hiện cập nhật bảng chéo mà không liên quan đến bất kỳ phép nối nào. Cú pháp sau đây là một cách khác để cập nhật một bảng bằng một bảng khác

Câu lệnh UPDATE ở trên tạo ra kết quả tương tự như UPDATE JOIN với mệnh đề INNER JOIN hoặc LEFT JOIN. Có nghĩa là chúng ta có thể viết lại cú pháp trên như cú pháp UPDATE JOIN đã hiển thị ở trên

Hãy để chúng tôi lấy một số ví dụ để hiểu cách hoạt động của câu lệnh UPDATE JOIN trong bảng MySQL

CẬP NHẬT THAM GIA Ví dụ

Trước tiên, chúng ta sẽ tạo hai bảng có tên là Hiệu suất và Nhân viên và cả hai bảng đều có liên quan với nhau thông qua khóa ngoại. Ở đây, "Hiệu suất" là bảng cha và "Nhân viên" là bảng con. Các tập lệnh sau tạo cả hai bảng cùng với bản ghi của chúng

Cái bàn. Hiệu suất

Tiếp theo, điền các bản ghi vào bảng bằng câu lệnh INSERT

Sau đó, thực hiện truy vấn CHỌN để xác minh dữ liệu như trong hình bên dưới

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

Cái bàn. Người lao động

Tiếp theo, điền các bản ghi vào bảng bằng câu lệnh INSERT

Sau đó, thực hiện truy vấn CHỌN để xác minh dữ liệu như trong hình bên dưới

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

UPDATE JOIN với INNER JOIN Ví dụ

Giả sử chúng tôi muốn cập nhật tiền lương của nhân viên trên cơ sở hiệu suất của họ. Chúng tôi có thể cập nhật tiền lương của nhân viên trong bảng Nhân viên bằng cách sử dụng câu lệnh UPDATE INNER JOIN vì phần trăm hiệu suất được lưu trữ trong bảng hiệu suất

Trong các bảng trên, chúng ta phải sử dụng trường hiệu suất để tham gia bảng Nhân viên và Hiệu suất. Xem truy vấn bên dưới

Sau khi thực hiện câu lệnh trên ta sẽ được kết quả như bên dưới cột lương của nhân viên được cập nhật thành công

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

Hãy cho chúng tôi hiểu cách truy vấn này hoạt động trong MySQL. Trong truy vấn, chúng tôi chỉ chỉ định bảng Nhân viên sau mệnh đề CẬP NHẬT. Đó là bởi vì chúng tôi chỉ muốn thay đổi bản ghi trong bảng Nhân viên, không phải trong cả hai bảng

Truy vấn kiểm tra các giá trị cột hiệu suất cho mỗi hàng trong bảng "Nhân viên" so với cột hiệu suất của bảng "Hiệu suất". Nếu nó nhận được cột hiệu suất phù hợp, thì nó sẽ lấy tỷ lệ phần trăm trong bảng Hiệu suất và cập nhật cột lương của bảng Nhân viên. Truy vấn này cập nhật tất cả các bản ghi trong bảng Nhân viên vì chúng tôi chưa chỉ định mệnh đề WHERE trong truy vấn CẬP NHẬT THAM GIA

CẬP NHẬT THAM GIA với LEFT JOIN Ví dụ

Để hiểu UPDATE JOIN với LEFT JOIN, trước tiên chúng ta cần chèn hai hàng mới vào bảng employee

Vì những nhân viên này là nhân viên mới, nên hồ sơ hiệu suất của họ không có sẵn. Xem đầu ra bên dưới

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

Nếu chúng ta muốn cập nhật lương cho nhân viên mới được tuyển dụng, chúng ta không thể sử dụng truy vấn UPDATE INNER JOIN. Đó là do không có dữ liệu hiệu suất của họ trong bảng Hiệu suất. Vì vậy, chúng tôi sẽ sử dụng câu lệnh UPDATE LEFT JOIN để đáp ứng nhu cầu này

Câu lệnh UPDATE LEFT JOIN trong MySQL được sử dụng để cập nhật một hàng trong bảng khi không tìm thấy bản ghi nào trong hàng tương ứng của bảng khác

Ví dụ, nếu chúng ta muốn tăng lương cho một nhân viên mới được tuyển dụng lên 2. 5%, chúng ta có thể làm điều này với sự trợ giúp của câu lệnh sau

Sau khi thực hiện truy vấn trên, chúng ta sẽ nhận được kết quả như hình dưới đây, chúng ta có thể thấy mức lương của nhân viên mới được tuyển dụng được cập nhật thành công

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

Trong bài viết này, chúng ta đã học câu lệnh MySQL Update Join cho phép chúng ta thay đổi dữ liệu hiện có trong một bảng bằng dữ liệu mới từ một bảng khác với điều kiện mệnh đề THAM GIA. Truy vấn này thuận lợi khi chúng ta cần sửa đổi một số cột nhất định được chỉ định trong mệnh đề WHERE cùng với việc sử dụng mệnh đề INNER JOIN hoặc LEFT JOIN

Làm cách nào để cập nhật nhiều bảng cùng một lúc trong MySQL?

Đầu tiên, chỉ định tên bảng mà bạn muốn thay đổi dữ liệu trong mệnh đề CẬP NHẬT. Thứ hai, gán một giá trị mới cho cột mà bạn muốn cập nhật. Trường hợp bạn muốn cập nhật dữ liệu theo nhiều cột thì mỗi cặp cột = giá trị cách nhau bởi dấu phẩy (,). Thứ ba, chỉ định những hàng bạn muốn cập nhật trong mệnh đề WHERE

Bạn có thể cập nhật nhiều bảng cùng một lúc không?

Ví dụ: cập nhật 2 bảng khác nhau cùng lúc trong một truy vấn/câu lệnh. Điều này liên quan đến việc sử dụng mệnh đề BEGIN TRANSACTION và mệnh đề CAM KẾT . Các mệnh đề CẬP NHẬT riêng lẻ được viết ở giữa các mệnh đề cũ để thực hiện đồng thời cả hai cập nhật.

Làm cách nào để cập nhật tất cả các bảng trong MySQL?

CẬP NHẬT MySQL .
Đầu tiên bạn chỉ định tên bảng muốn cập nhật dữ liệu sau từ khóa UPDATE
Thứ hai, chỉ định cột nào bạn muốn cập nhật và giá trị mới trong mệnh đề SET. .
Thứ ba, chỉ định những hàng nào sẽ được cập nhật bằng điều kiện trong mệnh đề WHERE