Mysql thực thi nhiều câu lệnh cập nhật

Một cách để cập nhật nhiều hàng là viết nhiều câu lệnh

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4. Chúng có thể được phân tách bằng dấu chấm phẩy (;) và được gửi theo nhóm (được gọi là đợt)

Ngoài ra, hãy sử dụng CẬP NHẬT với mệnh đề WHERE. Đây là cú pháp

UPDATE table-name
   SET column1 = value1, ...
 WHERE condition

Một ví dụ

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
1 sẽ là.
UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
2

Điều này sẽ cập nhật 4 hàng với một câu lệnh

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4

Chúng ta có thể CẬP NHẬT giá trị NULL trong SQL không?

Có, bạn có thể

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4 giá trị NULL

Tất nhiên, giá trị mới phải phù hợp với kiểu dữ liệu của cột

Trong ví dụ này, tất cả các giá trị NULL được thay thế bằng 0

UPDATE Supplier
   SET AmountSold = 0
 WHERE AmountSold IS NULL

Chúng tôi có thể CẬP NHẬT nhiều bảng với một truy vấn SQL không?

Không, chỉ có thể cập nhật 1 bảng với câu lệnh

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4

Tuy nhiên, bạn có thể sử dụng một giao dịch để đảm bảo rằng 2 hoặc nhiều câu lệnh

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4 được xử lý dưới dạng một đơn vị công việc. Hoặc, bạn có thể gộp nhiều câu lệnh
UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4 và gửi chúng theo nhóm

Làm cách nào để tôi biết rằng CẬP NHẬT đã thành công?

Nó phụ thuộc vào môi trường mà CẬP NHẬT được thực thi

Trong SMSS, thông báo lỗi màu đỏ được trả về khi

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4 không thành công

Trong một ngôn ngữ lập trình, một ngoại lệ được đưa ra khi xảy ra lỗi

Trong T-SQL, cấu trúc

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
9 có thể ghi lại bất kỳ lỗi nào

Cũng trong T-SQL, hàm toàn cục

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
 WHERE condition
0 trả về số hàng bị ảnh hưởng bởi thao tác
UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
4 cuối cùng. Điều này cũng có thể hữu ích

Hầu hết các trang web và ứng dụng hiện đại đều dựa trên việc thu thập, lưu trữ và phân tích dữ liệu. Cơ sở dữ liệu tham gia tích cực vào việc xây dựng toàn bộ môi trường Web. Đó là lý do tại sao điều quan trọng là đảm bảo truy xuất dữ liệu chính xác từ cơ sở dữ liệu và các cách thao tác dữ liệu phù hợp. Để sửa đổi dữ liệu của bạn đúng cách, bạn sẽ cần thực hiện các truy vấn SQL. Bài viết hiện tại sẽ tập trung vào câu lệnh MySQL UPDATE và cách sử dụng nó

Mysql thực thi nhiều câu lệnh cập nhật

Bản chất và vai trò của câu lệnh CẬP NHẬT MySQL

Rất thường xuyên, chúng ta cần cập nhật một trường trong MySQL và thay đổi dữ liệu được lưu trữ trong các bảng. Chúng ta có thể làm điều đó bằng cách sử dụng câu lệnh UPDATE. Lệnh này có thể sửa đổi bất kỳ trường nào trong bảng. Nó áp dụng cho cả việc cập nhật một hàng và nhiều hàng

Câu lệnh MySQL UPDATE là một trong những lệnh được sử dụng phổ biến nhất trong MySQL. Hãy xem cú pháp của nó

Cú pháp CẬP NHẬT MySQL

Xử lý truy vấn CẬP NHẬT trong MySQL, chúng ta thường có ba tình huống cụ thể cần tuân theo. họ đang. cập nhật bảng MySQL, cập nhật bảng có dữ liệu từ bảng MySQL khác và cập nhật nhiều bảng

Mẫu cú pháp rút gọn đơn giản cho hàng cập nhật MySQL trong bảng như sau

UPDATE table
SET column1 = expression1,
    column2 = expression2,
    ...
[WHERE conditions];

Mẫu cú pháp đầy đủ cho trường hợp tương tự như sau

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]
 
value:
    {expr | DEFAULT}
 
assignment:
    col_name = value
 
assignment_list:
    assignment [, assignment] ...

Một trường hợp cụ thể của việc áp dụng câu lệnh MySQL UPDATE là cập nhật dữ liệu trong một bảng với dữ liệu từ một bảng MySQL khác

________số 8

Câu lệnh CẬP NHẬT hoạt động xuất sắc cho nhiều bảng. Trong trường hợp như vậy, mẫu cú pháp sẽ được sửa đổi, như sau

UPDATE table1, table2, .. 
SET column1 = expression1,
    column2 = expression2,
    ...
WHERE table1.column = table2.column
AND conditions;

Bạn luôn cần xác định tên của bảng có thể cập nhật

Các yếu tố sau đây rất cần thiết cho cú pháp cập nhật MySQL

  • Mệnh đề SET xác định các cột có thể cập nhật. Sau từ khóa cập nhật MySQL, bạn phải cung cấp tên của các cột cần thiết và giá trị mà chúng phải nhận. Nếu bạn cập nhật nhiều cột, hãy phân tách tên của chúng và giá trị mới bằng dấu phẩy

Ghi chú. Nếu giá trị bạn đặt giống với giá trị hiện tại của cột, lệnh CẬP NHẬT của MySQL sẽ phát hiện ra điều này và sẽ không cập nhật nó

  • Mệnh đề WHERE chỉ định các điều kiện cập nhật các hàng, i. e. , giá trị nào phải được cập nhật. Không có mệnh đề này, câu lệnh CẬP NHẬT áp dụng cho tất cả các hàng trong cột được chỉ định. Trong trường hợp cập nhật nhiều bảng, câu lệnh UPDATE áp dụng cho tất cả các hàng trong mỗi bảng được chỉ định trong table_references thỏa mãn điều kiện. Tuy nhiên, nó sẽ cập nhật mọi hàng khớp một lần, ngay cả khi nó khớp các điều kiện nhiều lần
  • Mệnh đề ORDER BY là tùy chọn. Nếu bạn đặt nó, nó sẽ làm cho câu lệnh CẬP NHẬT áp dụng cho các hàng theo thứ tự được chỉ định trong mệnh đề đó
  • Mệnh đề GIỚI HẠN là tùy chọn. Nó giới hạn số lượng hàng được cập nhật

Câu lệnh CẬP NHẬT có thể bao gồm hai công cụ sửa đổi tùy chọn, LOW_PRIORITY và IGNORE

  • LOW_PRIORITY có thể trì hoãn việc thực thi truy vấn CẬP NHẬT MySQL. Chẳng hạn, bạn có thể đặt CẬP NHẬT chỉ diễn ra sau khi tất cả các truy vấn CHỌN được thực thi. Công cụ sửa đổi này phù hợp với những bảng sử dụng khóa cấp độ bảng (Bộ nhớ, MyISAM và MERGE)
  • BỎ QUA cho phép câu lệnh CẬP NHẬT tiếp tục quá trình ngay cả khi xảy ra lỗi. Thay vào đó, nó sẽ loại trừ một số yếu tố nhất định khỏi quá trình cập nhật. Chẳng hạn, đây là những hàng có xung đột khóa trùng lặp xảy ra trên các giá trị khóa duy nhất – chúng sẽ không được cập nhật. Ngoài ra, nếu các giá trị mới gây ra lỗi chuyển đổi dữ liệu, các giá trị đó sẽ được cập nhật thành các giá trị hợp lệ gần nhất. Công cụ sửa đổi IGNORE đặc biệt hữu ích khi bạn cần cập nhật nhiều hàng

Các ví dụ về câu lệnh UPDATE của MySQL

Truy vấn CẬP NHẬT trong MySQL rất hữu ích trong nhiều trường hợp. Hãy xem xét một số ví dụ về việc áp dụng câu lệnh này cho các tác vụ tiêu chuẩn trong MySQL

Sử dụng lệnh UPDATE để cập nhật cột MySQL

Một ví dụ về bảng CẬP NHẬT MySQL cơ bản đơn giản sẽ minh họa cách thay đổi một giá trị trong MySQL. Giả sử rằng chúng ta cần thay đổi họ của học sinh trong cơ sở dữ liệu. Truy vấn sẽ như sau

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
0

Bằng cách thực thi mã này, chúng tôi thay đổi bảng Sinh viên. Chúng tôi thay đổi last_name thành Williams và chỉ định điều kiện – thay đổi áp dụng cho student_id là 384

Áp dụng lệnh UPDATE của MySQL để thay đổi nhiều cột

Tác vụ cập nhật nhiều cột của MySQL cũng khá phổ biến. Trong trường hợp sau, chúng tôi muốn thay đổi giá trị thành phố cho một nhóm sinh viên. Hãy xem truy vấn sau đây

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
1

Ở đây, chúng tôi sẽ lấy dữ liệu cập nhật MySQL trong một bảng cho một nhóm sinh viên. Lệnh sẽ cập nhật thành phố xuất xứ của họ thành Birmingham và student_rep sẽ được đổi thành 15. Thay đổi sẽ áp dụng cho những sinh viên có student_id cao hơn 20. Bằng cách này, truy vấn MySQL để cập nhật giá trị cột cho nhiều cột được thực hiện bằng một câu lệnh

Cập nhật dữ liệu MySQL trong một bảng có dữ liệu từ một bảng khác

Trong trường hợp này, chúng tôi muốn cập nhật bảng Học sinh với dữ liệu từ bảng Giáo viên. Ví dụ UPDATE MySQL phù hợp như sau

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
2

Trong ví dụ này, nếu thành phố quê hương của giáo viên trong bảng Giáo viên khớp với thành phố quê hương của học sinh trong bảng Học sinh, thì giáo viên đó sẽ được chỉ định cho những học sinh đó. teacher_id được sao chép vào trường giáo viên của bảng Học sinh. Thay đổi sẽ áp dụng cho những sinh viên có student_id thấp hơn 20

Chỉnh sửa các giá trị MySQL trong nhiều bảng cùng một lúc

Ở đây chúng tôi muốn cập nhật nhiều hơn một bảng bằng một lệnh UPDATE

UPDATE table-name 
   SET column-name1 = value1, 
       column-name2 = value2, ...
3

Lệnh CẬP NHẬT MySQL này cập nhật trường thành phố trong bảng Sinh viên thành thành phố từ bảng Giáo viên. Điều kiện xác định cập nhật là phải có student_id khớp với teacher_id

Bằng cách này, chúng ta đã khám phá các tình huống phổ biến nhất khi sử dụng truy vấn CẬP NHẬT để cập nhật một trường trong MySQL. Tuy nhiên, nhiệm vụ này trở nên đơn giản hơn nhiều với các công cụ thích hợp

Trong số nhiều giải pháp phần mềm cho các tác vụ MySQL, đáng chú ý đặc biệt đến dòng sản phẩm dbForge phổ biến gồm các giải pháp chuyên biệt cho các cơ sở dữ liệu khác nhau

Thực thi lệnh CẬP NHẬT MySQL với dbForge Studio cho MySQL

Đối với các hoạt động của MySQL, tất cả các tùy chọn cần thiết đều có trong dbForge Studio cho MySQL. Phần mềm đa tính năng này cho phép bạn thực hiện tất cả các thao tác với cơ sở dữ liệu MySQL nhờ các khả năng chức năng ấn tượng liên quan đến phát triển, quản lý và quản trị cơ sở dữ liệu MySQL

Hãy xem cách dbForge Studio dành cho MySQL đối phó với các trường hợp sử dụng CẬP NHẬT MySQL

Một trong những tính năng chính của Studio là viết, thực thi và tối ưu hóa hiệu suất của các truy vấn SQL. Các tùy chọn tự động hoàn thành và định dạng cho phép người dùng loại bỏ các lỗi chính tả có thể xảy ra và tăng tốc mã hóa. Trình kiểm tra cú pháp SQL tự động giúp phát hiện và sửa lỗi nhanh chóng

Trong trường hợp thử nghiệm của chúng tôi, chúng tôi có bảng Khách hàng sau. Nó chứa thông tin của khách hàng, bao gồm tên và họ và địa chỉ email của họ

Mysql thực thi nhiều câu lệnh cập nhật

Giả sử dữ liệu trong bảng bị thay đổi theo thời gian, chúng ta cần cập nhật một số giá trị của cột. Ví dụ: email của Mary Smith phải trở thành [email được bảo vệ] Và giả sử chúng ta cũng phải đổi họ của Barbara thành Johnson do cuộc hôn nhân gần đây của cô ấy

Chúng ta sẽ phải thực thi hai câu lệnh CẬP NHẬT MySQL vì các thay đổi liên quan đến các hàng khác nhau của bảng

Như bạn còn nhớ, chúng ta cần chỉ định tên bảng sau từ khóa CẬP NHẬT. Trong trường hợp của chúng tôi, đó là khách hàng. Các cột được cập nhật được chỉ định trong mệnh đề SET, trong trường hợp của chúng tôi là email và last_name tương ứng

Tuy nhiên, không còn cần thiết phải ghi nhớ những điều này. dbForge Studio cho MySQL tự động tạo câu lệnh CẬP NHẬT. Không cần nhập truy vấn CẬP NHẬT trong MySQL theo cách thủ công

Vì vậy, bạn sẽ cần phải làm như sau

  1. Chọn bảng cần thiết trong Database explorer và nhấp vào Truy xuất dữ liệu. Một cách khác là bật chế độ Lưới dữ liệu để xem dữ liệu bảng
  2. Chọn các giá trị cột bạn cần cập nhật. Ghi chú. Bạn có thể chọn một giá trị hoặc nhiều giá trị bằng cách giữ phím Ctrl
  3. Nhấp chuột phải vào giá trị (nhiều giá trị) và chọn Tạo tập lệnh dưới dạng từ menu.  
  4. Chuyển đến Cập nhật> Tới Tài liệu SQL
Mysql thực thi nhiều câu lệnh cập nhật

Trang tài liệu SQL mới mở ra. Nó đã có tất cả các cú pháp cần thiết được cung cấp cho lệnh UPDATE của MySQL

Bạn có thể thay thế các giá trị lỗi thời và thêm dữ liệu mới nhất như sau

Mysql thực thi nhiều câu lệnh cập nhật

Sau khi thực hiện truy vấn, bạn có thể kiểm tra trạng thái của nó ở góc dưới cùng bên phải

Để đảm bảo rằng truy vấn đã được thực hiện thành công với các giá trị được cập nhật, hãy quay lại chế độ Lưới dữ liệu và nhấp vào biểu tượng Làm mới

Mysql thực thi nhiều câu lệnh cập nhật

Như bạn thấy, các giá trị email và last_name đã được cập nhật thành công

Sự kết luận

Truy vấn MySQL UPDATE rất phổ biến và tiện dụng đến mức bạn không thể tránh khỏi việc xử lý nó khi làm việc với cơ sở dữ liệu MySQL. Nó cũng hiệu quả như nhau khi bạn thay đổi một giá trị trong MySQL trong một trường duy nhất, trong toàn bộ bảng hoặc thậm chí một số bảng

Việc sử dụng đơn giản nhưng có thể khá tốn thời gian. Do đó, các công cụ chuyên nghiệp tiện dụng như dbForge Studio dành cho MySQL giúp mọi tác vụ nhanh hơn, mượt mà hơn và dễ dàng hơn nhiều. Chúng tôi hy vọng rằng bài viết hiện tại đã giúp ích cho bạn

Làm cách nào để chạy nhiều câu lệnh cập nhật trong MySQL?

CẬP NHẬT MySQL nhiều cột . Trong đó column_name là tên của cột sẽ được cập nhật và new_value là giá trị mới mà cột sẽ được cập nhật. MySQL UPDATE command can be used to update multiple columns by specifying a comma separated list of column_name = new_value. Where column_name is the name of the column to be updated and new_value is the new value with which the column will be updated.

Làm cách nào để kết hợp hai câu lệnh cập nhật trong SQL?

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)

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.