btvn.vn
Tìm kiếm Đăng nhập

SQL thêm, sửa và xóa bản ghi

Lưu trên thiết bị này
Giới thiệu các hệ cơ sở dữ liệu · Chọn bài khác

Ba cách thay đổi dữ liệu

Trong nhóm DML, `INSERT` **thêm** bản ghi, `UPDATE` **sửa** giá trị ở bản ghi đã có, còn `DELETE` **xóa** bản ghi. Các lệnh này làm đổi dữ liệu chứ không tự đổi cấu trúc trường của bảng. Ví dụ bảng **TacGia** ban đầu có `T01` — An, `T02` — Bình. Các câu sau được xem là **ba bước liên tiếp trên bản sao thử nghiệm**: ```sql INSERT INTO TacGia (MaTacGia, TenTacGia) VALUES ('T03', 'Chi'); UPDATE TacGia SET TenTacGia = 'Bình An' WHERE MaTacGia = 'T02'; DELETE FROM TacGia WHERE MaTacGia = 'T03'; ``` Sau bước một có thêm T03. Sau bước hai T02 đổi tên, T01 giữ nguyên. Sau bước ba T03 bị xóa; bảng còn T01 — An và T02 — Bình An.

Điều kiện quyết định hàng bị tác động

`WHERE MaTacGia = 'T02'` giới hạn lệnh UPDATE vào đúng hàng T02; điều kiện ở DELETE giới hạn việc xóa vào T03. Nếu bỏ WHERE, lệnh có thể tác động **mọi hàng** của bảng. Trước khi cập nhật dữ liệu thật, cần kiểm phạm vi hàng định sửa hoặc xóa và quyền thực hiện. Trong một CSDL có quan hệ, xóa bản ghi còn được bảng khác tham chiếu có thể bị từ chối hoặc xử lí theo quy tắc khóa ngoài đã đặt. Ví dụ T03 ở trên không được bản nhạc nào dùng nên thao tác xóa chạy được trong bộ dữ liệu thử.

Bài luyện

Sau ba lệnh trong ví dụ chạy theo thứ tự, bảng TacGia còn hàng nào?
Chọn một đáp án

Bài luyện

Trong lệnh UPDATE TacGia SET TenTacGia = 'Bình An' WHERE MaTacGia = 'T02', WHERE có vai trò gì?
Chọn một đáp án

Bài luyện

Vì sao không nên bỏ WHERE khỏi lệnh DELETE khi chỉ muốn xóa T03?
Chọn một đáp án

Đang học