5.1 DELETE FROM deyimi

SQL'de yapılması kolay olan şey verileri silmektir. Kesinlikle her şeyi çok hızlı bir şekilde silebilirsiniz ve kimse sizden herhangi bir onay istemeyecektir.

En basit senaryo ile başlayalım: bir tablodaki bir satırın nasıl silineceği .

Bu, en sık göreceğiniz senaryodur, genellikle belirli bir kaydın silinmesidir ve standart sorgu genellikle şöyle görünür:

DELETE FROM table
WHERE id = 133;

Bu, sütun adlarını belirtmeniz gerekmeyen tek sorgudur: sonuçta, veriler satırlarda hemen silinir.

İkinci senaryo, id list tarafından verilen satırları silmek , burada da her şey oldukça basit:

DELETE FROM table
WHERE id IN (1, 2, 3,);

Üçüncü senaryo, belirli bir koşulla eşleşen satırları kaldırmaktır:

DELETE FROM table
WHERE condition;

Diyelim ki tüm programcılarımızı kovmak istiyoruz, ardından şöyle bir istek yazmamız gerekiyor:

DELETE FROM employee
WHERE occupation = 'Programmer';

Son olarak, tüm kayıtları silmek istiyorsanız, şöyle bir sorgu yazabilirsiniz:

DELETE FROM table

Bu basit sorgu, bir tablodaki tüm kayıtları kaldırmak için yeterlidir. Bu arada, bu durumda Ctrl + Z olmayacak. Kayıtlar, kurtarma olasılığı olmadan basitçe silinir ve hepsi bu. Bu nedenle, daha sık yedekleme yapın .

5.2 Her şeyi kaldırma

Hızlı kaldırma için (kullanıcılara baş ağrısı eklemek için), SQL'in birkaç komutu daha vardır.

Bir tablodaki tüm verileri hızlı bir şekilde nasıl silebilirim? operatörü kullanın TRUNCATE:

TRUNCATE TABLE table

Tablo adında bir yazım hatası - ve size birkaç günlük veri kurtarma sağlanır. Veritabanı yöneticisi olmadığına sevin.

Yalnızca tablodaki verileri değil, tablonun kendisini de silmeniz gerekiyorsa, bunun için bir operatör DROP vardır :

DROP TABLE table

Bu arada, veritabanı şemaları ile benzer seçenekler var . Veritabanının kendisini silmek istiyorsanız, o zaman:

DROP SCHEME database

veya:

DROP DATABASE database

Silmek için DROP'u da kullanabilirsiniz:

  • ETKİNLİK
  • İŞLEV
  • PROSEDÜR
  • DİZİN
  • GÖRÜŞ
  • TETİKLEMEK

Ve işte veri silme ile ilgili birkaç ilginç hikaye:

Günün molası. GitLab, sysadmin hatası nedeniyle 300 GB müşteri verisini sildi

sudo rm -rf veya 2017/01/31 tarihli GitLab.com veritabanı olayının Chronicle'ı

Silikon Vadisi "Silikon Vadisi" - Veri Silme