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

Trong SQL, đôi khi chúng ta cần cập nhật nhiều bản ghi trong một truy vấn. Chúng tôi sẽ sử dụng từ khóa CẬP NHẬT để đạt được điều này. Đối với điều này, chúng tôi sử dụng 2 loại ví dụ tôi. e. cái đầu tiên chỉ dựa trên một điều kiện và cái thứ hai dựa trên nhiều điều kiện. Đối với bài viết này, chúng tôi sẽ sử dụng Microsoft SQL Server làm cơ sở dữ liệu và Chọn từ khóa

Bước 1. Tạo cơ sở dữ liệu. Đối với điều này, hãy sử dụng lệnh dưới đây để tạo cơ sở dữ liệu có tên GeekForGeek

Truy vấn

CREATE DATABASE GeeksForGeeks

đầu ra

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

Bước 2. Sử dụng cơ sở dữ liệu GeekForGeek. Đối với điều này sử dụng lệnh dưới đây

Truy vấn

USE GeeksForGeeks

đầu ra

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

Bước 3. Tạo một bảng BANDS bên trong cơ sở dữ liệu GeekForGeeks. Bảng này có 3 cột là BAND_NAME, PERFORMING_COST và NUMBER_OF_MEMBERS chứa tên, chi phí biểu diễn và số lượng thành viên của ban nhạc

Truy vấn

CREATE TABLE BANDS(
BAND_NAME VARCHAR(20),
PERFORMING_COST INT,
NUMBER_OF_MEMBERS INT);

đầu ra

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

Bước 4. Mô tả cấu trúc của bảng BANDS

Truy vấn

EXEC SP_COLUMNS BANDS;

đầu ra

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

Bước 5. Chèn 5 hàng vào bảng BANDS

Truy vấn

INSERT INTO BANDS VALUES('INDIAN OCEAN',10000,5);
INSERT INTO BANDS VALUES('BTS',20000,6);
INSERT INTO BANDS VALUES('METALLICA',30000,10);
INSERT INTO BANDS VALUES('BEATLES',40000,4);
INSERT INTO BANDS VALUES('EAGLES',50000,4);

đầu ra

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

Bước 6. Hiển thị tất cả các hàng của bảng BANDS

Truy vấn

SELECT * FROM BANDS;

đầu ra

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

Bước 7. Cập nhật tất cả các bản ghi của bảng BANDS chỉ thỏa mãn một điều kiện. Điều kiện ở đây là giá trị của cột NUMBER_OF_MEMBERS phải nhỏ hơn 5. Nếu điều kiện được thỏa mãn thì giá trị của cột PERFORMING_COST sẽ tự nhân đôi. Sử dụng từ khóa UPDATE và WHERE để đạt được điều này

cú pháp

UPDATE TABLE_NAME SET COLUMN_NAME
= VALUE WHERE CONDITION;

Truy vấn

UPDATE BANDS SET PERFORMING_COST = 
2*PERFORMING_COST WHERE NUMBER_OF_MEMBERS<=5;

đầu ra

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

Bước 8. Hiển thị tất cả các hàng của bảng FIRM đã cập nhật

Truy vấn

SELECT * FROM BANDS;

Ghi chú. PERFORMING_COST đã được nhân đôi cho các nhóm có NUMBER_OF_MEMBERS<=5

đầu ra

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

Bước 9. Cập nhật tất cả các bản ghi của bảng BANDS thỏa mãn hai (nhiều) điều kiện. Điều kiện ở đây là nếu BAND_NAME là 'METALLICA' thì PERFORMING_COST của nó được đặt thành 90000 và nếu BAND_NAME là 'BTS' thì PERFORMING_COST của nó được đặt thành 200000. Sử dụng từ khóa CẬP NHẬT và KHI NÀO để đạt được điều này. Truy vấn này hoạt động giống như một khối if-else if-else

Một cách để cập nhật nhiều hàng là viết nhiều câu lệnh UPDATE. 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

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

Có, bạn có thể UPDATE một 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

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 được xử lý như một đơn vị công việc. Hoặc, bạn có thể gộp nhiều câu lệnh UPDATE 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, một thông báo lỗi màu đỏ được trả về khi một UPDATE 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ầu

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 cuối cùng. Điều này cũng có thể hữu ích

Chúng tôi có thể chạy nhiều câu lệnh cập nhật trong SQL không?

Câu lệnh UPDATE trong SQL dùng để cập nhật dữ liệu của một bảng hiện có trong cơ sở dữ liệu. Chúng tôi có thể cập nhật một cột cũng như nhiều cột bằng cách sử dụng câu lệnh CẬP NHẬT theo yêu cầu của chúng tôi .

Làm cách nào để cập nhật nhiều bản ghi trong MySQL?

Câu lệnh UPDATE cho phép bạn cập nhật một hoặc nhiều giá trị trong MySQL. Đây là cú pháp để cập nhật nhiều giá trị cùng lúc bằng cách sử dụng câu lệnh UPDATE. CẬP NHẬT [LOW_PRIORITY] [BỎ QUA] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE condition];

Chúng tôi có thể cập nhật nhiều hàng trong một câu lệnh cập nhật không?

Chúng ta có thể cập nhật nhiều hàng của bảng bằng một lệnh cập nhật duy nhất .