Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bạn có một sinh viên bảng với

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
5,
UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
6 và
UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
7 như thế này, trong đó
UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
5 là khóa chính:

Tôiscore1score2
1 10 9
2 8 3
3 10 6
4 4 8

Và đây là bảng dữ liệu mới mà bạn muốn cập nhật lên:

Tôiscore1score2
1 5 8
2 10 8
3 8 3
4 10 7

Và đây là bảng dữ liệu mới mà bạn muốn cập nhật lên:


Có một vài cách để làm điều đó.

UPDATE students SET score1 = 5, score2 = 8 WHERE id = 1;
UPDATE students SET score1 = 10, score2 = 8 WHERE id = 2;
UPDATE students SET score1 = 8, score2 = 3 WHERE id = 3;
UPDATE students SET score1 = 10, score2 = 7 WHERE id = 4;

1. Bạn có thể viết nhiều truy vấn cập nhật như thế này và chạy tất cả chúng cùng một lúc:

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;

2. Hoặc bạn có thể cập nhật với câu lệnh tham gia:

INSERT INTO students 
    (id, score1, score2)
    VALUES 
        (1, 5, 8),
        (2, 10, 8),
        (3, 8, 3),
        (4, 10, 7)
    ON DUPLICATE KEY UPDATE 
        score1 = VALUES(score1),
    score2 = VALUES(score2);


3. Hoặc bạn có thể sử dụng

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
9

Cần một công cụ GUI tốt cho MySQL? TablePlus là một công cụ hiện đại, gốc với giao diện người dùng thanh lịch, cho phép bạn quản lý đồng thời nhiều cơ sở dữ liệu như MySQL, PostgreSQL, SQLite, Microsoft SQL Server, và hơn thế nữa.. It’s free anyway!

Tải xuống TablePlus cho Mac. Dù sao thì nó cũng miễn phí! Download TablePlus for Windows.

Không phải trên Mac? Tải xuống bảng cho Windows. Download TablePlus for Linux

Trên Linux? Tải xuống bảng cho Linux Download TablePlus for iOS.

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi 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ức là chỉ dựa trên một điều kiện và loạ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 của chúng tôi và chọn từ khóa.

Bước 1: Tạo cơ sở dữ liệu. Để sử dụng lệnh bên dưới để tạo cơ sở dữ liệu có tên GeekSforGeeks. Create a Database. For this use the below command to create a database named GeeksForGeeks.

Query:

CREATE DATABASE GeeksForGeeks

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 2: Sử dụng cơ sở dữ liệu GeekSforGeeks. Đối với điều này, sử dụng lệnh dưới đây. Use the GeeksForGeeks database. For this use the below command.

Query:

USE GeeksForGeeks

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 3: Tạo một bảng các dải bên trong cơ sở dữ liệu GeekSforGeeks. Bảng này có 3 cột cụ thể là Band_NAME, INFEMING_COST và NUMBER_OF_MEMBERS chứa tên, phí để thực hiện và số lượng thành viên của một ban nhạc. Create a table of BANDS inside the database GeeksForGeeks. This table has 3 columns namely BAND_NAME, PERFORMING_COST, and NUMBER_OF_MEMBERS containing the names, charges for performing, and the number of members of a band.

Query:

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

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 4: Mô tả cấu trúc của các dải bảng. Describe the structure of the table BANDS.

Query:

EXEC SP_COLUMNS BANDS;

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 5: Chèn 5 hàng vào bảng dải. Insert 5 rows into the BANDS table.

Query:

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);

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 6: Hiển thị tất cả các hàng của bảng dải. Display all the rows of the BANDS table.

Query:

SELECT * FROM BANDS;

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 7: Cập nhật tất cả các bản ghi của các dải bảng chỉ thỏa mãn một điều kiện duy nhất. Đ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 thực hiện_cost tự tăng gấp đôi. Sử dụng cập nhật từ khóa và nơi để đạt được điều này. Update all records of the table BANDS satisfying only a single condition. The condition here is that the value of the column NUMBER_OF_MEMBERS should be less than 5. If the condition is satisfied then the value of the column PERFORMING_COST doubles itself. Use the keyword UPDATE and WHERE to achieve this.

Syntax:

UPDATE TABLE_NAME SET COLUMN_NAME
= VALUE WHERE CONDITION;

Query:

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
0

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 8: Hiển thị tất cả các hàng của bảng công ty được cập nhật. Display all the rows of the updated FIRM table.

Query:

SELECT * FROM BANDS;

Lưu ý: Biểu diễn_cost đã được nhân đôi cho các ban nhạc có number_of_membersThe PERFORMING_COST has been doubled for the bands having NUMBER_OF_MEMBERS<=5.

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 9: Cập nhật tất cả các bản ghi của các dải bảng thỏa mãn hai (nhiều) điều kiện. Điều kiện ở đây là nếu band_name là ‘metallica, thì hoạt động của nó được đặt thành 90000 và nếu band_name là‘ bts, thì ITS hoạt động của nó được đặt thành 200000. Sử dụng cập nhật từ khóa 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.Update all records of the table BANDS satisfying two(multiple) conditions. The condition here is if the BAND_NAME is ‘METALLICA’, then its PERFORMING_COST is set to 90000 and if the BAND_NAME is ‘BTS’, then its PERFORMING_COST is set to 200000. Use the keyword UPDATE and WHEN to achieve this. This query behaves like an if-else if-else block.

Syntax:

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
2

Query:

UPDATE students s
JOIN (
    SELECT 1 as id, 5 as new_score1, 8 as new_score2
    UNION ALL
    SELECT 2, 10, 8
    UNION ALL
    SELECT 3, 8, 3
    UNION ALL
    SELECT 4, 10, 7
) vals ON s.id = vals.id
SET score1 = new_score1, score2 = new_score2;
3

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

Bước 10: Hiển thị tất cả các hàng của bảng công ty được cập nhật. Display all the rows of the updated FIRM table.

Query:

SELECT * FROM BANDS;

Lưu ý: Việc thực hiện_cost cho Metallica và BTS đã được cập nhật lên 90000 và 200000 tương ứng.The PERFORMING_COST for METALLICA and BTS have been updated to 90000 and 200000 respectively.

Output:

Hướng dẫn how do i update multiple records in mysql? - làm cách nào để cập nhật nhiều bản ghi trong mysql?

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

Lệnh cập nhật MySQL có thể được sử dụng để cập nhật nhiều cột bằng cách chỉ định danh sách phân tách dấu phẩy của cột_name = new_value. Trong đó cột_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.. 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.

Bạn có thể cập nhật nhiều hàng trong MySQL không?

Có một vài cách để làm điều đó.Chèn vào các giá trị của học sinh (ID, SCORE1, SCORE2) (1, 5, 8), (2, 10, 8), (3, 8, 3), (4, 10, 7) trên bản cập nhật khóa trùng lặp điểm 1 = giá trị (giá trị (điểm1), điểm2 = giá trị (điểm2);INSERT INTO students (id, score1, score2) VALUES (1, 5, 8), (2, 10, 8), (3, 8, 3), (4, 10, 7) ON DUPLICATE KEY UPDATE score1 = VALUES(score1), score2 = VALUES(score2);

Làm thế nào để bạn cập nhật nhiều giá trị hàng?

Các giá trị cột trên nhiều hàng có thể được cập nhật trong một câu lệnh cập nhật duy nhất nếu điều kiện được chỉ định trong đó mệnh đề khớp với nhiều hàng.Trong trường hợp này, mệnh đề SET sẽ được áp dụng cho tất cả các hàng phù hợp.in a single UPDATE statement if the condition specified in WHERE clause matches multiple rows. In this case, the SET clause will be applied to all the matched rows.

Làm thế nào để bạn cập nhật nhiều giá trị trong SQL?

Để cập nhật nhiều cột, sử dụng mệnh đề đặt để chỉ định các cột bổ sung.Giống như với các cột đơn, bạn chỉ định một cột và giá trị mới của nó, sau đó một tập hợp cột và giá trị khác.Trong trường hợp này, mỗi cột được phân tách bằng một cột.use the SET clause to specify additional columns. Just like with the single columns you specify a column and its new value, then another set of column and values. In this case each column is separated with a column.