SQL DELETE deyimi, tablo yapısını korurken belirli satırları tablodan kaldırmak için kullanılır. Tüm tabloyu silen DROP'tan farklıdır.
- Koşullara göre satırları kaldırır.
- Tablo şeması kısıtlamalarını ve dizinlerini korur.
- Tek bir satırı veya tüm satırları silebilir.
Örnek: İlk önce yapacağız yaratmak SQL DELETE komutunu kullanacağımız demo SQL veritabanı ve tablosu.
Sorgu:
DELETE FROM Employees
WHERE EmployeeID = 5;
Çıkış:
- Bu sorgu, Çalışan Kimliğinin 5 olduğu Çalışanlar tablosundaki satırı siler.
- Yalnızca söz konusu kayıt kaldırılır; diğer tüm satırlar değişmeden kalır.
Sözdizimi:
DELETE FROM table_name
WHERE some_condition;
- Bazı_koşullar: Silmek istediğiniz satırları filtrelemek için kullanılan bir koşul.
- tablo_adı: Satırlarını silmek istediğiniz tablonun adı.
Not: WHERE deyimini kullanarak tek veya birden fazla kaydı silebiliriz; atlanırsa tablodaki tüm kayıtlar kaldırılır.
SQL DELETE İfadesi Örnekleri
SQL'de, aşağıda gösterildiği gibi Çalışanın kimlik adı, e-postası ve departmanı vb. dahil olmak üzere kişisel ayrıntılarını içeren GFG_Employee adında bir tablo oluşturduğumuzu varsayalım.
TABLO OLUŞTUR GFG_Employees (
id INT BİRİNCİL ANAHTAR
isim VARCHAR (20)
e-posta VARCHAR (25)
departman VARCHAR(20)
);
INSERT INTO GFG_Employees (kimlik adı e-posta departmanı) VALUES
(1 'Jessie' '[email protected]' 'Geliştirme')
(2 'Praveen' '[email protected]' 'HR')
(3 'Yapılabilir' '[email protected]' 'Satış')
(4 'Rithvik' '[email protected]' 'BT')
(5 'Suraj' '[email protected]' 'Kalite Güvencesi')
(6 'Om' '[email protected]' 'BT')
(7 'Naruto' '[email protected]' 'Geliştirme');
GFG_Employees'dan * öğesini seçin
Çıkış:
döngü java'sı için
Örnek 1: Tek Kayıt Silme
Bir tablodan belirli bir satırı silmek için DELETE deyimini bir koşulla birlikte kullanabiliriz. NEREDE maddesi yalnızca amaçlanan kaydın kaldırılmasını sağlar. Aşağıdaki sorguyu kullanarak Rithvik isimli kayıtları silebiliriz:
Sorgu:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Çıkış:
Örnek 2: Birden Fazla Kaydı Silme
Birden fazla kaydı silmek için birkaç satırla eşleşen bir koşul belirleyebilirsiniz. Departmanın 'Geliştirme' olduğu GFG_Employees tablosundaki satırları silelim. Bu, 2 satırı (ilk satır ve yedinci satır) silecektir.
Sorgu:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Çıkış
Örnek 3: Tablodaki Tüm Kayıtları Silme
Tablodaki tüm kayıtları silmemiz gerekirse, WHERE yan tümcesini atlayabilir veya alternatif olarak tüm satırları belirtmek için DELETE ifadesini yıldız işaretiyle (*) kullanabiliriz.
Sorgu:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Çıkış:
Tablodaki tüm kayıtlar silinecek, görüntülenecek kayıt kalmadı. GFG_Employees tablosu boşalacaktır.
DELETE İşlemlerini Geri Alma
DELETE ifadesi bir DML işlemi olduğundan, bir ifadede çalıştırıldığında geri alınabilir. Kayıtları yanlışlıkla silerseniz veya işlemi tekrarlamanız gerekirse, GERİ DÖN emretmek.
Sorgu:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Açıklama: ROLLBACK komutu, DELETE deyimi tarafından yapılan değişiklikleri geri alarak işlem sırasında silinen kayıtları etkili bir şekilde geri yükler.
Test Oluştur