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

Lembah Silikon "Lembah Silikon" - Penghapusan Data