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
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:
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:
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:
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:
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 );
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:
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
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
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
Adım 5) Satırın Silinip Silinmediğini Kontrol Edin
Silme işleminin başarılı olup olmadığını kontrol edelim:
İ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
- 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
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
- 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:
Ö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