5.1 HAPUS DARI pernyataan
Yang mudah dilakukan di SQL adalah menghapus data. Anda benar-benar dapat menghapus semuanya dengan sangat cepat, dan bahkan tidak ada yang akan meminta konfirmasi dari Anda.
Mari kita mulai dengan skenario paling sederhana: cara menghapus satu baris dalam tabel .
Ini adalah skenario yang paling sering Anda lihat, biasanya penghapusan catatan tertentu, dan kueri standar biasanya terlihat seperti:
DELETE FROM table
WHERE id = 133;
Ini adalah satu-satunya kueri di mana Anda tidak perlu menentukan nama kolom: setelah semua, data langsung dihapus dalam baris.
Skenario kedua adalah menghapus baris yang diberikan oleh id list , semuanya juga cukup sederhana di sini:
DELETE FROM table
WHERE id IN (1, 2, 3, …);
Skenario ketiga adalah menghapus baris yang cocok dengan kondisi tertentu:
DELETE FROM table
WHERE condition;
Katakanlah kita ingin memecat semua programmer kita, maka kita perlu menulis permintaan seperti:
DELETE FROM employee
WHERE occupation = 'Programmer';
Dan terakhir, jika Anda ingin menghapus semua rekaman, Anda dapat menulis kueri seperti ini:
DELETE FROM table
Kueri sederhana ini cukup untuk menghapus semua record dari sebuah tabel. Omong-omong, tidak akan ada Ctrl + Z dalam hal ini. Rekaman dihapus begitu saja tanpa kemungkinan pemulihan dan hanya itu. Jadi buat backup lebih sering .
5.2 Menghapus semuanya
Untuk penghapusan cepat (untuk menambah sakit kepala bagi pengguna), SQL memiliki beberapa perintah lagi.
Bagaimana cara cepat menghapus semua data dalam sebuah tabel? Gunakan operator TRUNCATE
:
TRUNCATE TABLE table
Satu kesalahan ketik atas nama tabel - dan beberapa hari pemulihan data disediakan untuk Anda. Bersyukurlah Anda bukan admin database.
Jika Anda perlu menghapus tidak hanya data dalam tabel, tetapi juga tabel itu sendiri, maka ada operator DROP
untuk ini :
DROP TABLE table
Omong-omong, ada opsi serupa dengan skema basis data . Jika Anda ingin menghapus database itu sendiri, maka:
DROP SCHEME database
atau:
DROP DATABASE database
Anda juga dapat menggunakan DROP untuk menghapus:
- PERISTIWA
- FUNGSI
- PROSEDUR
- INDEKS
- MELIHAT
- PEMICU
Dan berikut adalah beberapa cerita menarik terkait penghapusan data:
Istirahat hari ini. GitLab menghapus 300 GB data pelanggan karena kesalahan sysadmin
sudo rm -rf, atau Kronik insiden basis data GitLab.com dari 31/01/2017
GO TO FULL VERSION