50 câu hỏi 60 phút
Câu lệnh SQL nào được dùng để xóa dữ liệu từ database
Truncate
Delete
Remove
Câu hỏi này kiểm tra kiến thức về các lệnh SQL dùng để xóa dữ liệu. Cụ thể:
TRUNCATE
dùng để xóa *tất cả* các hàng trong một bảng. Nó nhanh hơn DELETE
vì nó không ghi lại các hành động xóa vào transaction log. Tuy nhiên, TRUNCATE
không thể được sử dụng nếu bảng đó đang được tham chiếu bởi một ràng buộc khóa ngoại (foreign key constraint) từ một bảng khác.DELETE
dùng để xóa *các* hàng cụ thể từ một bảng dựa trên một điều kiện (WHERE clause). Nếu không có điều kiện WHERE, nó sẽ xóa tất cả các hàng, tương tự như TRUNCATE
, nhưng chậm hơn.REMOVE
không phải là một lệnh SQL tiêu chuẩn để xóa dữ liệu.Trong các lựa chọn trên, DELETE
là lệnh SQL chính xác được dùng để xóa dữ liệu từ database. Lệnh TRUNCATE
cũng xóa dữ liệu, nhưng là toàn bộ bảng và có những hạn chế nhất định.
Câu hỏi này kiểm tra kiến thức về các lệnh SQL dùng để xóa dữ liệu. Cụ thể:
TRUNCATE
dùng để xóa *tất cả* các hàng trong một bảng. Nó nhanh hơn DELETE
vì nó không ghi lại các hành động xóa vào transaction log. Tuy nhiên, TRUNCATE
không thể được sử dụng nếu bảng đó đang được tham chiếu bởi một ràng buộc khóa ngoại (foreign key constraint) từ một bảng khác.DELETE
dùng để xóa *các* hàng cụ thể từ một bảng dựa trên một điều kiện (WHERE clause). Nếu không có điều kiện WHERE, nó sẽ xóa tất cả các hàng, tương tự như TRUNCATE
, nhưng chậm hơn.REMOVE
không phải là một lệnh SQL tiêu chuẩn để xóa dữ liệu.Trong các lựa chọn trên, DELETE
là lệnh SQL chính xác được dùng để xóa dữ liệu từ database. Lệnh TRUNCATE
cũng xóa dữ liệu, nhưng là toàn bộ bảng và có những hạn chế nhất định.
Câu lệnh DELETE FROM
được sử dụng để xóa các bản ghi hiện có trong một bảng.
Cú pháp:
DELETE FROM table_name
WHERE condition;
Trong đó:
table_name
: Tên của bảng mà bạn muốn xóa bản ghi.WHERE condition
: Chỉ định các bản ghi nào cần xóa. Nếu bạn bỏ qua mệnh đề WHERE
, tất cả các bản ghi trong bảng sẽ bị xóa.Trong trường hợp này, chúng ta muốn xóa bản ghi có FirstName
là 'Peter' trong bảng Persons
. Vì vậy, câu lệnh chính xác là: DELETE FROM Persons WHERE FirstName = ‘Peter’
Câu lệnh SQL có thể sử dụng cả mệnh đề WHERE
và HAVING
. Mệnh đề WHERE
được sử dụng để lọc các hàng trước khi thực hiện các phép toán nhóm (grouping), trong khi mệnh đề HAVING
được sử dụng để lọc các nhóm sau khi đã thực hiện các phép toán nhóm (thường là với các hàm tổng hợp như COUNT
, SUM
, AVG
, MIN
, MAX
). Do đó, việc sử dụng cả hai mệnh đề này trong cùng một câu lệnh SQL là hoàn toàn hợp lệ và phổ biến.