Menghapus data

Selesai

Sama seperti pernyataan INSERT yang selalu menambahkan seluruh baris ke tabel, pernyataan DELETE selalu menghapus seluruh baris.

Menggunakan DELETE untuk menghapus baris tertentu

DELETE beroperasi pada sekumpulan baris, baik yang ditentukan oleh kondisi dalam klausul WHERE atau ditentukan dalam gabungan. Klausul WHERE dalam pernyataan DELETE memiliki struktur yang sama dengan klausul WHERE dalam pernyataan SELECT.

Catatan

Penting untuk diingat bahwa DELETE tanpa klausul WHERE yang sesuai akan menghapus semua baris dari tabel. Gunakan pernyataan DELETE dengan hati-hati.

Kode berikut memperlihatkan sintaksis dasar pernyataan DELETE:

DELETE [FROM] <TableName>
WHERE <search_conditions>;

Contoh berikut menggunakan pernyataan DELETE untuk menghapus semua produk dari tabel tertentu yang telah dihentikan. Ada kolom dalam tabel yang disebut dihentikan dan untuk produk yang tidak lagi tersedia, kolom tersebut memiliki nilai 1.

DELETE FROM Production.Product
WHERE discontinued = 1;

Menggunakan TRUNCATE TABLE untuk menghapus semua baris

DELETE tanpa klausul WHERE menghapus semua baris dari tabel. Untuk alasan ini, DELETE biasanya digunakan secara kondisional, dengan filter di klausul WHERE. Jika Anda benar-benar ingin menghapus semua baris dan membiarkan tabel kosong, Anda dapat menggunakan pernyataan TRUNCATE TABLE. Pernyataan ini tidak mengizinkan klausul WHERE dan selalu menghapus semua baris dalam satu operasi. Berikut adalah contohnya:

TRUNCATE TABLE Sales.Sample;

TRUNCATE TABLE lebih efisien daripada DELETE saat Anda ingin menghapus semua baris.