logo

SQL DELETE İfadesi

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.

arasında' title=

Sorgu:



DELETE FROM Employees  
WHERE EmployeeID = 5;

Çıkış:

Silinmiş-satır-' loading='lazy' title=
  • 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
GFG_çalışanı' loading='lazy' title=

Ö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ış:

silinmiş bilgi' loading='lazy' title=

Ö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ış

departman' loading='lazy' title=

Ö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ış:

boş' loading='lazy' title=

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