SQLite - Truy vấn Cập nhật
Xin chào các nhà法师 tương lai! Hôm nay, chúng ta sẽ cùng lặn vào thế giới kỳ diệu của SQLite và học về một trong những pháp thuật mạnh mẽ nhất của nó - truy vấn Cập nhật (UPDATE query). Hãy tưởng tượng bạn là một thư viện trưởng, và bạn cần thay đổi thông tin trên một số thẻ sách của mình. Đó chính xác là điều mà truy vấn Cập nhật làm cho cơ sở dữ liệu của chúng ta!
Truy vấn Cập nhật là gì?
Truy vấn Cập nhật giống như một cây đũa phép cho phép chúng ta sửa đổi các bản ghi hiện có trong bảng của cơ sở dữ liệu. Nó vô cùng hữu ích khi bạn cần thay đổi dữ liệu đã lưu trữ trong cơ sở dữ liệu của bạn.
Tại sao chúng ta cần Truy vấn Cập nhật?
Giả sử bạn đang quản lý cơ sở dữ liệu của một nhà sách. Một ngày nọ, bạn nhận ra rằng giá của một cuốn sách đã thay đổi. Thay vì xóa bản ghi cũ và tạo một bản ghi mới, bạn có thể đơn giản là cập nhật bản ghi hiện có với giá mới. Đó là lý do tại sao truy vấn Cập nhật rất hữu ích!
Cú pháp
Bây giờ, hãy cùng xem xét cú pháp của truy vấn Cập nhật:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Hãy phân tích nó:
-
UPDATE table_name
: Đây là nơi bạn chỉ định bảng nào bạn muốn cập nhật. -
SET column1 = value1, column2 = value2, ...
: Tại đây, bạn liệt kê các cột bạn muốn thay đổi và giá trị mới của chúng. -
WHERE condition
: Điều này là tùy chọn nhưng rất quan trọng. Nó xác định哪些 hàng (rows) nên được cập nhật. Nếu bạn bỏ qua điều này, tất cả các hàng trong bảng sẽ bị cập nhật!
Ví dụ
Ví dụ 1: Cập nhật một cột duy nhất
Hãy bắt đầu với một ví dụ đơn giản. Giả sử chúng ta có một bảng叫做 books
với các cột id
, title
, author
, và price
. Chúng ta muốn cập nhật giá của một cuốn sách.
UPDATE books
SET price = 19.99
WHERE id = 1;
Truy vấn này sẽ cập nhật giá thành 19.99 cho cuốn sách có id là 1.
Ví dụ 2: Cập nhật nhiều cột
Bây giờ, giả sử chúng ta muốn cập nhật cả giá và tác giả của một cuốn sách:
UPDATE books
SET price = 24.99, author = 'Jane Doe'
WHERE title = 'The Great Adventure';
Truy vấn này sẽ thay đổi giá thành 24.99 và tác giả thành 'Jane Doe' cho cuốn sách có tiêu đề 'The Great Adventure'.
Ví dụ 3: Cập nhật tất cả các hàng
Đôi khi, bạn có thể muốn cập nhật tất cả các hàng trong bảng. Hãy cẩn thận với truy vấn này, nó giống như casting một pháp thuật lên toàn bộ thư viện!
UPDATE books
SET price = price * 1.1;
Truy vấn này tăng giá của tất cả các cuốn sách lên 10%. Lưu ý rằng chúng ta không sử dụng điều kiện WHERE, vì vậy nó ảnh hưởng đến tất cả các hàng.
Ví dụ 4: Sử dụng biểu thức trong việc cập nhật
Bạn cũng có thể sử dụng biểu thức trong các truy vấn Cập nhật. Giả sử chúng ta muốn giảm giá cho tất cả các cuốn sách đắt đỏ:
UPDATE books
SET price = price * 0.9
WHERE price > 50;
Truy vấn này giảm giá xuống 10% cho tất cả các cuốn sách có giá hơn 50 đô la.
Ví dụ 5: Cập nhật dựa trên bảng khác
Bạn thậm chí có thể cập nhật dữ liệu dựa trên thông tin từ bảng khác. Giả sử chúng ta có một bảng sales
và chúng ta muốn cập nhật cột popular
trong bảng books
của chúng ta:
UPDATE books
SET popular = 1
WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);
Truy vấn phức tạp này đánh dấu các cuốn sách là phổ biến nếu chúng đã được bán hơn 100 lần.
Các phương pháp Cập nhật phổ biến
Dưới đây là bảng các phương pháp Cập nhật phổ biến mà bạn có thể tìm thấy hữu ích:
Phương pháp | Mô tả | Ví dụ |
---|---|---|
Cập nhật Đơn giản | Cập nhật một cột duy nhất | UPDATE books SET price = 19.99 WHERE id = 1; |
Cập nhật Nhiều cột | Cập nhật nhiều cột | UPDATE books SET price = 24.99, author = 'Jane Doe' WHERE id = 1; |
Cập nhật Tất cả các hàng | Cập nhật tất cả các hàng trong bảng | UPDATE books SET price = price * 1.1; |
Cập nhật Điều kiện | Cập nhật các hàng thỏa mãn điều kiện | UPDATE books SET price = price * 0.9 WHERE price > 50; |
Cập nhật Subquery | Cập nhật dựa trên subquery | UPDATE books SET popular = 1 WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100); |
Nhớ rằng, các nhà法师 trẻ, với quyền lực lớn đi kèm với trách nhiệm lớn. Hãy kiểm tra lại điều kiện WHERE trước khi cast một truy vấn Cập nhật. Bạn không muốn vô tình thay đổi tất cả các cuốn sách trong thư viện khi bạn chỉ định cập nhật một cuốn!
Thực hành các pháp thuật này... nhầm, các truy vấn, và sớm bạn sẽ trở thành một大师 của cơ sở dữ liệu. Chúc mừng bạn, và may mắn để cơ sở dữ liệu của bạn luôn được cập nhật!
Credits: Image by storyset