farkmt2official 1
farkmt2official
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Cancan.1234 1
Cancan.1234
Hikaye Ekle

Altın Konu SQL'de Tablo Silme Nasıl Yapılır?

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

SQL-DELETE.jpg


SQL'de Tablo Silme Nasıl Yapılır?
SQL DELETE, Veri İşleme Dili'nin (DML) bir komutudur, bu nedenle tablo yapısını silmez veya değiştirmez, yalnızca tabloda bulunan verileri siler. Bu nedenle, tabloda tanımlanan tüm kısıtlamalar, dizinler veya tetikleyiciler, tablodan veri sildikten sonra bile var olmaya devam edecektir.

SQL DELETE TABLE İfadesi

SQL DELETE TABLE ifadesi, bir veritabanındaki tablodan mevcut kayıtları silmek için kullanılır. Tablodan yalnızca belirli sayıda satırı silmek istiyorsanız, DELETE ifadesiyle birlikte WHERE ifadesini kullanabilirsiniz. WHERE ifadesini atlarsanız, tablodaki tüm satırlar silinir. SQL DELETE ifadesi, aynı anda tek bir tabloda çalışır.

Sözdizimi

SQL'de SQL DELETE komutunun kullanımına ilişkin temel sözdizimi aşağıdadır:

DELETE FROM table_name;

SQL DELETE TABLE WHERE Maddesi ile

SQL DELETE ifadesini kullanarak, WHERE ifadesini kullanarak tek bir koşula bağlı olarak bir tablodan belirli satırları silebiliriz.

Sözdizimi

Aşağıda, tek bir koşula bağlı olarak belirli satırları silmeye yönelik sözdizimi verilmiştir:

DELETE FROM table_name
WHERE condition;

Örnek

Müşterilerin adı, yaşı, adresi, maaşı vb. gibi kişisel bilgilerini içeren MÜŞTERİLER adında bir tablo oluşturduğumuzu varsayalım.

Kod:
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

Şimdi INSERT ifadesini kullanarak bu tabloya aşağıdaki gibi değerler ekleyin:
Kod:
INSERT INTO CUSTOMERS VALUES
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

Yukarıda oluşturulan tablonun içeriğini SELECT * FROM CUSTOMERS ifadesini kullanarak alırsanız aşağıdaki çıktıyı alırsınız:

İDİSİMYAŞADRESMAAŞ
1Rameş32Ahmedabad2000,00
2Hilan25Delhi1500,00
3Kauşik23Kota2000,00
4Çaytali25Bombay6500,00
5Sert27Bhopal8500,00
6Komal22Haydarabad4500,00
7Çirkin24Hindistan10000,00


Şimdi, aşağıdaki sorguda gösterildiği gibi 'Hardik' adlı tüm müşterileri silmeyi deneyelim.

Kod:
DELETE FROM CUSTOMERS WHERE NAME='Hardik';


Çıktı

Aşağıdaki sonucu elde ediyoruz. 1 satırın silindiğini görebiliyoruz.

Query OK, 1 row affected (0.05 sec)

Doğrulama

Şimdi CUSTOMERS tablosunun içeriğini SELECT * FROM CUSTOMERS komutunu kullanarak alırsanız aşağıdaki çıktıyı alırsınız:


İDİSİMYAŞADRESMAAŞ
1Rameş32Ahmedabad2000,00
2Hilan25Delhi1500,00
3Kauşik23Kota2000,00
4Çaytali25Bombay6500,00
6Komal22Haydarabad4500,00
7Çirkin24Hindistan10000,00

Birden fazla koşula bağlı olarak satırları silme

Ayrıca, WHERE ifadesini kullanarak birden fazla koşula bağlı olarak bir tablodan belirli satırları silmek için SQL DELETE TABLE ifadesini de kullanabiliriz. Bu, belirli bir ölçütü karşılayan bir tablodan satırların bir alt kümesini kaldırmak istediğimizde faydalıdır.

Birden fazla koşul kullanırken, koşullarımızı iyileştirmek için AND, OR ve NOT gibi karşılaştırma operatörlerini kullanabiliriz. Bu şekilde, yalnızca koşulları karşılayan satırlar silinecektir.

Sözdizimi

Aşağıda, AND veya OR operatörleri kullanılarak bağlanabilen birden fazla koşula bağlı olarak belirli satırları silmek için temel sözdizimi verilmiştir:

DELETE FROM table_name
WHERE condition1 AND condition2 OR ... conditionN;

Burada, table_name satırlarını silmek istediğimiz tablonun adıdır ve condition1'den conditionN'e kadar olan koşullar silinecek satırlar için karşılanması gereken koşullardır. AND veya OR operatörleri koşulları birleştirmek için kullanılabilir.

Örnek

Aşağıdaki sorguda adı 'Komal' veya adresi 'Mumbai' olan tüm müşterileri silmeye çalışıyoruz.

Kod:
DELETE FROM CUSTOMERS
WHERE NAME='Komal' OR ADDRESS='Mumbai';

Çıktı

Aşağıdaki sonucu elde ediyoruz. 2 satırın silindiğini görebiliyoruz.

Query OK, 2 rows affected (0.03 sec)

Doğrulama

Şimdi CUSTOMERS tablosunun içeriğini SELECT * FROM CUSTOMERS komutunu kullanarak alırsanız aşağıdaki çıktıyı alırsınız:

İDİSİMYAŞADRESMAAŞ
1Rameş32Ahmedabad2000,00
2Hilan25Delhi1500,00
3Kauşik23Kota2000,00
6Komal22Haydarabad4500,00
7Çirkin24Hindistan10000,00

Bir tablodaki tüm kayıtları silme

SQL'de bir tablodaki tüm kayıtları silmek için WHERE ifadesi olmadan SQL DELETE TABLE ifadesini kullanabiliriz . Bu ifade belirtilen tablodan tüm satırları kaldıracak ve tabloyu etkili bir şekilde orijinal durumuna (sadece yapıyı ve kısıtlamalarını içeren) sıfırlayacaktır.

Ancak bu işlemin geri alınamayacağını ve tabloda yer alan tüm verilerin kalıcı olarak silineceğini belirtmek önemlidir.

Örnek

Burada, CUSTOMERS tablosundan tüm kayıtları silmeye çalışıyoruz.

Kod:
DELETE FROM CUSTOMERS;

Çıktı

Yukarıdaki sorguyu çalıştırarak elde edilen sonuç aşağıdaki gibidir:

Query OK, 4 rows affected (0.13 sec)

Doğrulama

Şimdi, SELECT * FROM CUSTOMERS ifadesini kullanarak CUSTOMERS tablosunun içeriğini alırsanız aşağıdaki sonucu elde edersiniz:
Empty set (0.00 sec)
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst