PostgreSQL Sorguyu Sil (Seçilen Satırları Sil)

Sorguyu Sil PostgreSQL

The Açıklamayı Sil in PostgreSQL Bir tablodan bir veya daha fazla kaydı silmek için kullanılır. Bir tablodan seçilen satırları silmek istiyorsanız PostgreSQL DELETE deyimini WHERE deyimiyle birleştirmenize olanak tanır, aksi takdirde tüm kayıtları siler.

Postgres Sorgu Söz Dizimini Silme

DELETE ifadesi aşağıdaki söz dizimi ile 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

  • sorgu ile: With yan tümcesi, DELETE sorgusunda adla başvurulacak bir veya daha fazla alt sorguya başvurmamıza olanak tanır.
  • Tablo ismi: Kayıtların silineceği tablonun adı.
  • takma ad: Bu, hedef tablonun adının yerine geçer.
  • using-list: diğer tablolardaki sütunların WHERE yan tümcesinde kullanılmasına izin veren tablo ifadeleri.
  • koşullar): isteğe bağlı. Kayıtların silinebilmesi için sağlanması gereken şartlardır. Bu bölümün sağlanmaması durumunda tüm tablo adı kayıtları silinecektir.
  • imleç adı: WHERE CURRENT OF koşulunda kullanılacak imleç. Bu imleç tarafından en son getirilen satır silinecektir.
  • çıktı ifadesi: Her satırın silinmesinden sonra DELETE deyimi tarafından işlenecek ve döndürülecek ifade.
  • çıktı adı: döndürülen sütun için kullanılacak ad.

DELETE deyimi satırın tamamını sildiği için sütun adlarını belirtmenize gerek olmadığını unutmayın.

PostgreSQL Tek Koşullu Sorguyu Sil

DELETE ifadesi tek bir koşulla kullanılabilir. Koşul WHERE ifadesi kullanılarak ayarlanır. Aşağıdaki verilerle Price tablosunu ele alalım:

Ücret

PostgreSQL Tek Koşullu Sorguyu Sil

ID’si 4 olan kaydı silelim:

DELETE FROM Price
WHERE id = 4;

Yukarıdaki komut id’si 4 olan kayıtları silecektir. Silme işleminin başarılı olup olmadığını doğrulayalım:

PostgreSQL Tek Koşullu Sorguyu Sil

Kimliği 4 olan satır silindi.

İki Koşullu Sorguyu Sil

The PostgreSQL DELETE ifadesi iki koşul alabilir. İki koşul AND operatörü kullanılarak birleştirilmelidir. Aşağıdaki tabloyu kullanacağız:

Fiyat:

PostgreSQL İki Koşullu Sorguyu Sil

Aşağıda verilen örneği düşünün:

DELETE FROM Price
WHERE id = 3Y
AND price = 300;

Yukarıdaki komutta id 3, fiyatın 300 olduğu satırı siliyoruz. Artık tabloyu sorgulayabiliriz:

SELECT * FROM Price

Aşağıdakini döndürür:

PostgreSQL İki Koşullu Sorguyu Sil

ID'si 3, fiyatı 300 olan kayıt silindi.

PostgreSQL Mevcut Koşulu Kullanarak Sorguyu Sil

EXISTS koşuluyla, DELETE'i daha karmaşık hale getirebilirsiniz. Bazen, bir tablodaki kayıtları başka bir tablodaki kayıtlara göre silmeniz gerekebilir.

Silme işlemi yaparken FROM ifadesinin birden fazla tablodan kayıt listelemenize izin vermediğini göreceksiniz, EXISTS ifadesi çok kullanışlı hale geliyor. Aşağıdaki iki tablomuz var:

Kitap:

PostgreSQL Mevcut Koşulu Kullanarak Sorguyu Sil

Fiyat:

PostgreSQL Mevcut Koşulu Kullanarak Sorguyu Sil

Daha sonra şu sorguyu çalıştırabiliriz:

DELETE FROM Book
WHERE EXISTS
  (SELECT 1
    FROM Price
    WHERE Price.id = Book.id
    AND price < 250 );

Yukarıdaki komut, Fiyat tablosunda Kitap tablosunun kimliğiyle eşleşen bir kimliğe sahip ve fiyatı 250'den küçük olan bir kaydın bulunduğu Kitap tablosundan silecektir.

Kitap tablosu artık aşağıdaki gibidir:

PostgreSQL Mevcut Koşulu Kullanarak Sorguyu Sil

Kimliği 1 olan kayıt silindi.

Satır Nasıl Silinir? PostgreSQL pgAdmin'i kullanma

Bir satırı silmek için aşağıdaki adımlar izlenir: PostgreSQL pgAdmin'i kullanarak:

Tek şartla

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

Adım 1) pgAdmin hesabınıza giriş yapın

PgAdmin'i açın ve kimlik bilgilerinizi kullanarak hesabınıza giriş yapın

Adım 2) Demo Veritabanı Oluşturun

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

Satırı Sil PostgreSQL

Adım 3) Sorguyu Yazın

Sorgu düzenleyicisine aşağıdaki sorguyu yazın:

DELETE FROM Price
WHERE id = 4;

Adım 4) Sorguyu Yürütün

Yürüt düğmesine tıklayın

Satırı Sil PostgreSQL

Adım 5) Satırın Silinip Silinmediğini Kontrol Edin

Silme işleminin başarılı olup olmadığını kontrol edelim:

Satırı Sil PostgreSQL

İki koşulla

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

Satırı Sil PostgreSQL

) 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.

Satırı Sil PostgreSQL

) 5 Adım Silme işleminin başarılı olup olmadığını kontrol edelim:

Satırı Sil PostgreSQL

EXISTS Koşulunu Kullanma

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

EXISTS Koşulunu Kullanarak Satırı Sil

) 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.

EXISTS Koşulunu Kullanarak Satırı Sil

) 5 Adım Silme işleminin başarılı olup olmadığını kontrol edelim:

EXISTS Koşulunu Kullanarak Satırı Sil

ÖZET

  • DELETE ifadesi bir tablodan bir veya daha fazla kaydı silmek için kullanılır.
  • Bir tablodan yalnızca seçili satırları silmek için DELETE deyimini WHERE deyimiyle birleştirebilirsiniz.
  • DELETE deyimi WHERE deyimi olmadan kullanılırsa tablodaki tüm kayıtları siler.
  • table-name parametresi, kayıtların silineceği tablonun adını eklemenizi sağlar.
  • DELETE deyimini WHERE deyimi kullanılarak belirtilen tek bir koşulla kullanabiliriz.
  • DELETE ifadesi WHERE yan tümcesinde belirtilen iki koşulla da kullanılabilir. AND operatörü kullanılarak iki koşul birleştirilmelidir.
  • The VAR koşulu, başka bir tablonun kayıtlarına dayanarak bir tablodaki kayıtları silmemize yardımcı olabilir.

Bu Eğitimde kullanılan Veritabanını İndirin