Bài 4: Các câu lệnh SQL cập nhật cơ sở dữ liệu
Giới thiệu các câu lệnh SQL thực hiện viện Thêm mới bản ghi (INSERT), sửa dữ liệu (UPDATE) và xoá dữ liệu (DELETE). Đây là những câu lệnh rất quan trọng trong việc thao tác với các hệ quản trị cơ sở dữ liệu và lập trình thao các với các Database.
1. Câu lệnh thêm mới bản ghi – SQL Insert
INSERT INTO <tênbảng>([<danh sách các cột>])
VALUES (<danh sách các giá trị>)
Ví dụ: thêm một sinh viên mới vào bảng SINHVIEN
INSERT INTO SINHVIEN (MaSV, HoDem, Ten, NgaySinh, GioiTinh, Tinh, MaLoP)
VALUES ("561205", "Nguyễn Tiến", "Minh", "3/8/92", "nam", "Hà Nội","K57CNSHA");
- Nếu các giá trị sau từ khoá VALUES hoàn toàn phù hợp về thứ tự với các cột trong bảng, thì danh sách các cột có thể được bỏ qua.
Ví dụ: thêm một sinh viên mới vào bảng SINHVIEN không có danh sách cột
INSERT INTO SINHVIEN
VALUES ("561205", "Nguyễn Tiến", "Minh", "3/8/92", "nam", "Hà Nội","K57CNSHA");
- Ta có thể thêm các bản ghi vào bảng từ câu lệnh truy vấn (Select)
INSERT INTO <tên bảng> (<tên cột 1>, ...)
<Câu lệnh Select>
hoặc
INSERT INTO <tênbảng>
<Câu lệnh Select>
Ví dụ: thêm tất cả các dòng trong bảng DSSV vào bảng SINHVIEN
INSERT INTO SINHVIEN
SELECT * FROM DSSV ;
2. Câu lệnh sửa bản ghi – SQL Update
UPDATE <tên bảng>
SET <tên cột 1> = <giá trị 1>, <tên cột 2> = <giá trị 2>,
...,
<tên cột n> = < giá trị n>
[WHERE <điềukiện>];
Ý nghĩa:
- Giá trị của các cột <tên cột 1>, <tên cột 2> … Của những bản ghi thoả mãn điều kiện sau WHERE sẽ được sửa đổi thành <giá trị 1>, <giá trị 2> ….
- Nếu không có mệnh đề WHERE thì tất cả các bản ghi của bảng sẽ được sửa đổi.
Ví dụ: sửa hộ khẩu của các sinh viên từ Hà Tây thành Hà Nội
UPDATE SINHVIEN
SET Tinh = "Hà Nội"
WHERE Tinh = "Hà Tây";
3. Câu lệnh xoá bản ghi – SQL Delete
DELETE FROM <tên bảng>
[WHERE <điều kiện>];
Ý nghĩa:
- Các bản ghi thoả mãn điều kiện WHERE sẽ bị xoá khỏi bảng.
- Nếu không có mệnh đề WHERE thì tất cả các bản ghi của bảng sẽ bị xóa khỏi bảng.
Ví dụ: xóa tất cả các bản ghi trong bảng DSSV
DELETE FROM DSSV;
Ví dụ: Xóa sinh viên lớp K53MTA khỏi bảng SINHVIEN
DELETE FROM SINHVIEN
WHERE MaLop = "K53MTA";