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'ı
GO TO FULL VERSION