Bài này cafedev chia sẻ cho ace về cách sử dụng INSERT INTO, UPDATE, DELETE để thao tác với dữ liệu trong Cơ sở dữ liệu.
Nội dung chính
1. Câu lệnh INSERT
Câu lệnh INSERT INTO được sử dụng để chèn các dữ liệu mới vào trong bảng.
1.1. Cú pháp
Có thể viết câu lệnh INSERT INTO theo hai cách.
Cách đầu tiên chỉ định cả tên cột và giá trị sẽ được chèn:
/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Nếu bạn đang thêm giá trị cho tất cả các cột của bảng, bạn không cần chỉ định tên cột trong câu truy vấn SQL. Tuy nhiên, hãy đảm bảo thứ tự của các giá trị theo thứ tự với các cột trong bảng. Cú pháp INSERT INTO sẽ như sau:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Nếu bạn muốn chèn nhiều dữ liệu cùng một lúc thì có thể làm như sau:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...),
(value1, value2, value3, ...),
(value1, value2, value3, ...),
(value1, value2, value3, ...);
Ví dụ: Câu lệnh SQL sau sẽ chèn một dữ liệu mới trong bảng “Customers”:
/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Wilman', 'Matti Karttunen', 'Keskuskatu 21', 'Helsinki', '4006', 'Norway');
1.2. Chèn dữ liệu chỉ trong các cột được chỉ định
Cũng có thể chỉ chèn dữ liệu trong các cột cụ thể.
Câu lệnh SQL sau sẽ chèn một dữ liệu mới, nhưng chỉ chèn dữ liệu trong các cột “CustomerName”, “City” và “Country” (CustomerID sẽ được cập nhật tự động):
/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Xuan David', 'Hà Nội', 'VN');
Lưu ý: Các bạn tham khảo bài giới thiệu nàyđể lấy dữ liệu mẫu và chạy các ví dụ của toàn bộ series này nha.
2. Câu lệnh UPDATE
Câu lệnh UPDATE được sử dụng để sửa đổi các dữ liệu hiện có trong bảng.
2.1. Cú pháp
/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Lưu ý: Hãy cẩn thận khi cập nhật các dữ liệu trong một bảng! Lưu ý mệnh đề WHERE trong câu lệnh UPDATE. Mệnh đề WHERE chỉ định (các) dữ liệu cần được cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các dữ liệu trong bảng sẽ được cập nhật!
Ví dụ: Câu lệnh SQL sau cập nhật khách hàng đầu tiên (CustomerID = 1) với tên người liên hệ và thành phố.
UPDATE Customers
SET ContactName = 'Cafedev', City= 'HCM'
WHERE CustomerID = 1;
2.2. Cập nhật nhiều dữ liệu một lúc
Đó là mệnh đề WHERE xác định có bao nhiêu bản ghi sẽ được cập nhật.
Câu lệnh SQL sau sẽ cập nhật tên liên hệ thành “Cafedev” cho tất cả các dữ liệu có quốc gia là “VN”:
/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
UPDATE Customers
SET ContactName='Cafedev'
WHERE Country='VN';
Lưu ý: Hãy cẩn thận khi cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, TẤT CẢ các dữ liệu sẽ được cập nhật!
UPDATE Customers
SET ContactName='Cafedev';
3. Câu lệnh Delete
Câu lệnh DELETE được sử dụng để xóa các dữ liệu hiện có trong bảng.
DELETE FROM table_name WHERE condition;
Lưu ý: Hãy cẩn thận khi xóa các dữ liệu trong bảng! Lưu ý mệnh đề WHERE trong câu lệnh DELETE. Mệnh đề WHERE chỉ định (các) dữ liệu nào nên được xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các dữ liệu trong bảng sẽ bị xóa!
Ví dụ: Câu lệnh SQL sau xóa khách hàng “Cafedev” khỏi bảng “Customers”:
DELETE FROM Customers WHERE CustomerName='Cafedev';
3.1. Xóa tất cả các dữ liệu của 1 bảng
Có thể xóa tất cả các hàng trong bảng mà không cần xóa bảng. Điều này có nghĩa là cấu trúc bảng, thuộc tính và chỉ mục sẽ được giữ nguyên:
DELETE FROM table_name;
Ví dụ: Câu lệnh SQL sau sẽ xóa tất cả các hàng trong bảng “Customers” mà không xóa bảng:
DELETE FROM Customers;
Lưu ý: Các bạn tham khảo bài giới thiệu này để lấy dữ liệu mẫu và chạy các ví dụ của toàn bộ series này nha. Khi bạn thực hành mà không tìm thấy kết quả và không xảy ra lỗi thì có thể dữ liệu của bạn không tồn tại, vì vậy, bạn có thể insert thêm data vào bảng và thực hành lại nha.
Full series tự học SQL từ cơ bản tới nâng cao tại đây nha.
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!