Câu lệnh MySQL UPDATE được sử dụng để cập nhật các bản ghi hiện có trong một bảng trong cơ sở dữ liệu MySQL. Có 3 cú pháp cho câu lệnh CẬP NHẬT tùy thuộc vào loại cập nhật mà bạn muốn thực hiện
Cú pháp của câu lệnh UPDATE khi cập nhật một bảng với dữ liệu từ một bảng khác trong MySQL là
UPDATE table1
SET column1 = (SELECT expression1
FROM table2
WHERE conditions)
[WHERE conditions];
HOẶC LÀ
Cú pháp cho câu lệnh UPDATE của MySQL khi cập nhật nhiều bảng là
UPDATE table1, table2, ..
SET column1 = expression1,
column2 = expression2,
...
WHERE table1.column = table2.column
AND conditions;
Tham số hoặc Đối số
LOW_PRIORITYTùy chọn. Nếu LOW_PRIORITY được cung cấp, quá trình cập nhật sẽ bị trì hoãn cho đến khi không có tiến trình nào đọc từ bảng. LOW_PRIORITY có thể được sử dụng với các bảng MyISAM, MEMORY và MERGE sử dụng khóa cấp độ bảng. BỎ QUATùy chọn. Nếu IGNORE được cung cấp, tất cả các lỗi gặp phải trong quá trình cập nhật sẽ bị bỏ qua. Nếu cập nhật trên một hàng dẫn đến vi phạm khóa chính hoặc chỉ mục duy nhất, thì cập nhật trên hàng đó sẽ không được thực hiện. cột1, cột2Các cột bạn muốn cập nhật. biểu thức1, biểu thức2Các giá trị mới để gán cho cột1, cột2. Vì vậy, cột1 sẽ được gán giá trị của biểu thức1, cột2 sẽ được gán giá trị của biểu thức2, v.v. điều kiện WHERETùy chọn. Các điều kiện phải được đáp ứng để cập nhật để thực thi. ĐẶT HÀNG BẰNG biểu thứcTùy chọn. Nó có thể được sử dụng kết hợp với LIMIT để sắp xếp các bản ghi một cách thích hợp khi giới hạn số lượng bản ghi được cập nhật. GIỚI HẠN số_hàngTùy chọn. Nếu LIMIT được cung cấp, nó sẽ kiểm soát số lượng bản ghi tối đa để cập nhật trong bảng. Nhiều nhất, số lượng bản ghi được chỉ định bởi number_rows sẽ được cập nhật trong bảng
Ví dụ - Cập nhật cột đơn
Hãy xem một ví dụ truy vấn CẬP NHẬT MySQL rất đơn giản
UPDATE customers
SET last_name = 'Anderson'
WHERE customer_id = 5000;
Ví dụ CẬP NHẬT MySQL này sẽ cập nhật last_name thành 'Anderson' trong bảng khách hàng trong đó customer_id là 5000
Ví dụ - Cập nhật nhiều cột
Hãy xem ví dụ CẬP NHẬT MySQL nơi bạn có thể muốn cập nhật nhiều cột với một câu lệnh CẬP NHẬT
UPDATE customers
SET state = 'California',
customer_rep = 32
WHERE customer_id > 100;
Khi muốn cập nhật nhiều cột, bạn có thể thực hiện việc này bằng cách tách các cặp cột/giá trị bằng dấu phẩy
Ví dụ về câu lệnh CẬP NHẬT MySQL này sẽ cập nhật trường thành phố trong bảng khách hàng thành thành phố từ bảng nhà cung cấp trong đó customer_id khớp với nhà cung cấp_id
Tóm lược. cập nhật dữ liệu là một trong những nhiệm vụ quan trọng nhất khi bạn làm việc với cơ sở dữ liệu. Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh MySQL
SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;
Giới thiệu về câu lệnh SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;Code language: SQL (Structured Query Language) (sql)2 của MySQL
Câu lệnh
SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;
7. Để cập nhật giá trị trong nhiều cột, bạn sử dụng danh sách các phép gán được phân tách bằng dấu phẩy bằng cách cung cấp một giá trị trong phép gán của mỗi cột ở dạng giá trị bằng chữ, biểu thức hoặc truy vấn con
Thứ ba, chỉ định những hàng nào sẽ được cập nhật bằng cách sử dụng một điều kiện trong mệnh đề
SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;
1) Sử dụng MySQL SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;Code language: SQL (Structured Query Language) (sql)2 để sửa đổi các giá trị trong một ví dụ về một cột
Xem bảng
1 row(s) affected
5 sau đây từ cơ sở dữ liệu mẫu
Trong ví dụ này, chúng tôi sẽ cập nhật email của
1 row(s) affected
6 thành email mới
1 row(s) affected
7
Đầu tiên, tìm email của Mary từ bảng
1 row(s) affected
5 bằng cách sử dụng câu lệnh
1 row(s) affected
9 sau đây
SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;
2) Sử dụng MySQL SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;Code language: SQL (Structured Query Language) (sql)2 để sửa đổi giá trị trong nhiều cột
Để cập nhật các giá trị trong nhiều cột, bạn cần chỉ định các phép gán trong mệnh đề
SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;
3) Sử dụng MySQL SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;Code language: SQL (Structured Query Language) (sql)2 để thay thế chuỗi ví dụ
Ví dụ sau cập nhật các phần miền của email của tất cả
4) Sử dụng MySQL SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;Code language: SQL (Structured Query Language) (sql)2 để cập nhật các hàng được trả về bởi một ví dụ về câu lệnh SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;Code language: SQL (Structured Query Language) (sql)7
Bạn có thể cung cấp các giá trị cho mệnh đề
SELECT
firstname,
lastname,
email
FROM
employees
WHERE
employeeNumber = 1056;
2 của MySQL để cập nhật dữ liệu trong bảng cơ sở dữ liệu
Làm cách nào để cập nhật nhiều cột trong MySQL từ một bảng khác?
Lệnh MySQL UPDATE có thể được sử dụng để cập nhật nhiều cột bằng cách chỉ định danh sách cột_name = new_value được phân tách bằng dấu phẩy . 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.
Làm cách nào để cập nhật một cột trong một bảng từ một cột trong một bảng khác trong SQL?
Trong trường hợp này, bạn có thể sử dụng cú pháp câu lệnh UPDATE sau để cập nhật cột từ một bảng, dựa trên giá trị của bảng khác. CẬP NHẬT first_table, second_table SET first_table. column1 = second_table. column2 WHERE first_table. id = second_table .
Làm cách nào để cập nhật một cột với một cột khác trong bảng trong MySQL?
Để cập nhật dữ liệu của một cột sang cột khác, bạn có thể sử dụng lệnh CẬP NHẬT . Hãy để chúng tôi kiểm tra cột UserFirstName được cập nhật hay không.
Làm cách nào để cập nhật dữ liệu từ bảng này sang bảng khác trong MySQL?
Cú pháp MySQL UPDATE JOIN .
Đầu tiên, chỉ định bảng chính ( T1 ) và bảng mà bạn muốn bảng chính tham gia ( T2 ) sau mệnh đề CẬP NHẬT. .
Tiếp theo, chỉ định loại liên kết bạn muốn sử dụng. e. , INNER JOIN hoặc LEFT JOIN và một vị từ nối