PostgreSQL Seçilen tablodan satırları sil
⚡ Akıllı Özet
PostgreSQL DELETE komutu bir tablodan bir veya daha fazla satırı siler ve WHERE yan tümcesiyle birlikte kullanıldığında yalnızca bir koşula uyan kayıtları hedeflerken, WHERE ifadesi kullanılmadığında tablodaki tüm satırlar silinir.

Sorguyu Sil PostgreSQL
MKS SİL bildirimi in PostgreSQL Bir tablodan bir veya daha fazla kaydı silmek için kullanılır. Bir tablodan yalnızca seçili satırları silmek için, PostgreSQL Bu seçenek, DELETE ifadesini WHERE yan tümcesiyle birleştirmenize olanak tanır; aksi takdirde tablodaki tüm kayıtları siler.
PostgreSQL Sorgu Sözdizimini Sil
DELETE ifadesi aşağıdaki sözdizimi kullanılarak tanımlanabilir:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
Parametreler
Aşağıdaki parametreler mevcuttur:
- sorgu ileWITH yan tümcesi, DELETE sorgusu içinde bir veya daha fazla alt sorguya adlarıyla referans vermenizi sağlar.
- Tablo ismi: Kayıtların silineceği tablonun adı.
- takma ad: Hedef tablonun adının yerine geçebilecek bir değer.
- liste kullanarak: WHERE koşulunda diğer tablolardaki sütunların kullanılmasına olanak tanıyan tablo ifadeleri.
- koşullar): isteğe bağlı. Kayıtların silinebilmesi için karşılanması gereken koşullardır. Bu bölüm belirtilmezse, tüm tablo adı kayıtları silinecektir.
- imleç adı: WHERE CURRENT OF koşulunda kullanılacak imleç. Bu imleç tarafından getirilen son satır silinecektir.
- çıktı ifadesi: Her satır silindikten sonra DELETE ifadesi tarafından işlenip döndürülecek ifade.
- çıktı adı: döndürülen sütun için kullanılacak ad.
DELETE ifadesi tüm satırı sildiği için sütun adlarını belirtmenize gerek olmadığını unutmayın.
PostgreSQL Tek Koşullu Sorguyu Sil
DELETE ifadesi, WHERE yan tümcesi kullanılarak belirlenen tek bir koşulla kullanılabilir. Aşağıdaki verilere sahip Fiyat tablosunu ele alalım:
Fiyat:
ID’si 4 olan kaydı silelim:
DELETE FROM Price WHERE id = 4;
Yukarıdaki komut, kimlik numarası 4 olan kayıtları siler. Silme işleminin başarılı olup olmadığını kontrol edelim:
Kimliği 4 olan satır silindi.
İki Koşullu Sorguyu Sil
MKS PostgreSQL DELETE ifadesi iki koşul da alabilir. Bu iki koşul, AND operatörü kullanılarak birleştirilmelidir. Aşağıdaki tabloyu kullanacağız:
Fiyat:
Aşağıda verilen örneği düşünün:
DELETE FROM Price WHERE id = 3 AND price = 300;
Yukarıdaki komutta, kimlik numarası 3 ve fiyatı 300 olan satırı siliyoruz. Şimdi tabloyu sorgulayabiliriz:
SELECT * FROM Price;
Bu, aşağıdakileri döndürür:
ID'si 3, fiyatı 300 olan kayıt silindi.
PostgreSQL EXISTS koşulunu kullanarak sorguyu silin.
İle VAR Koşula bağlı olarak, silme işlemini daha karmaşık hale getirebilirsiniz. Bazen bir tablodaki kayıtları, başka bir tablodaki kayıtlara göre silme ihtiyacı doğabilir.
FROM yan tümcesi, silme işlemi gerçekleştirirken birden fazla tablodan kayıt listelemenize izin vermediği için, EXISTS yan tümcesi çok kullanışlı hale gelir. Aşağıdaki iki tabloya sahibiz:
Kitap:
Fiyat:
Daha sonra şu sorguyu çalıştırabiliriz:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Bu komut, Fiyat tablosunda eşleşen bir kimliğe sahip ve fiyatı 250'nin altında olan Kitap tablosundaki satırları siler.
Kitap tablosu artık aşağıdaki gibidir:
Kimliği 1 olan kayıt silindi.
Bir satırı nasıl silerim? PostgreSQL pgAdmin'i kullanma
Aynı silme sorguları, aşağıdaki adımları izleyerek pgAdmin arayüzü üzerinden görsel olarak da çalıştırılabilir:
Tek bir şartla
) 1 Adım pgAdmin hesabınıza giriş yapın. pgAdmin'i açın ve kimlik bilgilerinizle hesabınıza giriş yapın.
) 2 Adım Bir demo veritabanı oluşturun.
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 3 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
DELETE FROM Price WHERE id = 4;
) 4 Adım Yürüt düğmesine tıklayın.
) 5 Adım Şimdi satırın silinip silinmediğini kontrol edelim:
İki Şartla
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 3 Adım Sorgu düzenleyicisine sorguyu yazın:
DELETE FROM Price WHERE id = 3 AND price = 300;
) 4 Adım Yürüt düğmesine tıklayın.
) 5 Adım Silme işleminin başarılı olup olmadığını kontrol edelim:
EXISTS Koşulunu Kullanma
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 3 Adım Sorgu düzenleyicisine sorguyu yazın:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
) 4 Adım Yürüt düğmesine tıklayın.
) 5 Adım Silme işleminin başarılı olup olmadığını kontrol edelim:
Bu Eğitimde kullanılan Veritabanını İndirin
















