top of page

SQL'de Veri Yönetimi: INSERT ve DELETE Komutları ile Veri Tabanına Müdahale

  • Yazarın fotoğrafı: Hüseyin Erdem ÜNAL
    Hüseyin Erdem ÜNAL
  • 30 Tem
  • 3 dakikada okunur

Merhaba sevgili okurlar! SQL serimizin bugünkü durağında, verileri nasıl yöneteceğimize odaklanıyoruz. Önceki yazılarımızda SQL'in temellerine giriş yapmış ve SELECT komutuna bakış atmış, yaygın veri tabanı türlerini keşfetmiştik. Şimdi ise, bir veri tabanı tablosuna yeni kayıtlar eklemeyi ve mevcut kayıtları silmeyi sağlayan temel SQL komutları olan INSERT ve DELETE'i detaylıca öğreneceğiz.


Kapak fotoğrafı

Elma Kasasına Yeni Elma Eklemek: INSERT Komutu


SELECT ile ilgili yazımızda elma dolu kasamız olduğunu hatırlayacaksınız. Kasadan elmaları SELECT ile alıyorduk. Peki, bu kasaya yeni, taptaze elmalar eklemek istersek ne yapmalıyız? İşte SQL'de yeni veri eklemek için INSERT komutunu kullanırız.

INSERT komutunun temel amacı, bir tabloya yeni bir veya birden fazla satır (kayıt) eklemektir. Bu komut, SQL'in tüm ilişkisel veri tabanı yönetim sistemlerinde (MySQL, PostgreSQL, Oracle, MS SQL Server vb.) benzer bir sözdizimiyle çalışır.


Tek Bir Satır Ekleme


Belirli sütunlara değer eklemek için temel yapı:

INSERT INTO tablo_adı (sütun1, sütun2, ...)
VALUES (değer1, değer2, ...);

  • INSERT INTO'dan sonra ekleme yapacağımız tablo adını, parantez içerisinde de ekleme yapacağımız sütun isimlerini yazıyoruz.

  • VALUES'dan sonra ise ekleme yapacağımız değerleri yazıyoruz.


Tüm sütunlara değer eklemek için (sütun sırasına dikkat ederek):

INSERT INTO tablo_adı
VALUES (değer1, değer2, değer3, ...);

Tüm sütunlara veri ekleyeceksek sütun isimlerini belirtmemize gerek yok.


Bahsini ettiğimiz elma kasamıza kırmızı bir "Starking" elma ekleyelim:

INSERT INTO Elmalar (renk, cinsi)
VALUES ('kırmızı', 'Starking');

Haydi Biraz Pratik Yapalım..


programiz'daki Customers tablosuna yeni bir müşteri ekleyelim. Siz de eşlik etmek isterseniz bu bağlantıdan erişebilirsiniz. Bu örnekte, MS SQL Server'a özel bir durum olmasa da, ileriki yazılar için bir başlangıç referansı olması amacıyla bu veri tabanını kullandığımızı belirtelim.

INSERT INTO Customers (first_name, last_name, age, country)
VALUES ('Ali', 'Demir', 25, 'Türkiye');
insert into komutu örneği

customer_id sütunu hariç diğer tüm sütunlara veri girişi yapıyoruz. Gelin eklenen verimizi kontrol edelim.

select * from customers

Görüldüğü üzere customer_id sütunu hariç diğer tüm sütunların değeri olan satır eklemiş olduk.


Elma Kasasından Elma Çıkarmak: DELETE Komutu


Şimdi de kasamızdaki bazı elmaları çeşitli nedenlerle (bozulmuş olmaları, satılmış olmaları vb.) çıkarmak istediğimizi düşünelim. SQL'de mevcut kayıtları silmek için DELETE komutunu kullanırız.

DELETE komutunun temel amacı, bir tablodan bir veya birden fazla satırı (kaydı) silmektir. Tüm ilişkisel veri tabanı sistemlerinde bu komut benzer şekilde kullanılır.


DELETE FROM tablo_adı
WHERE koşul;
Dikkat! WHERE koşulu belirtilmezse, tablodaki tüm satırlar silinir! Bu, çok tehlikeli bir durum olabilir. Bu yüzden DELETE komutunu kullanırken WHERE ifadesini dikkatli bir şekilde kullanmak hayati önem taşır.

Belirli Bir Satırı Silme


Sadece belirli bir koşulu sağlayan satırları silmek için WHERE ifadesini kullanırız.


Elmalar kasamızdaki yeşil renkli elmaları çıkarmak için:

DELETE FROM Elmalar
WHERE renk = 'yeşil';

Customers tablomuza eklediğimiz kaydı silelim:

DELETE FROM Customers
WHERE first_name = 'Ali' and last_name = 'Demir' and age = 25
SQL Delete komutu

Örnek sorgumuzda 'and' operatörünü görmekteyiz. Operatörler konusuna ilerideki yazılarımda değineceğim. Şimdilik şartları aynı anda sağlayan satırları seçmemize yaradığını bilmek kafi.


Tüm Satırları Silme: TRUNCATE TABLE Komutu


Truncate Table komutunu tasvir eden kasadan elma boşaltmak

Bir tablodaki tüm verileri hızlı bir şekilde silmek istersek, TRUNCATE TABLE komutunu da kullanabiliriz. Bu komut, `DELETE FROM tablo_adı` komutundan daha hızlı çalışır ve genellikle daha az işlem kaydı (log) üretir. Ancak TRUNCATE TABLE işlemleri genellikle geri alınamaz (rollback edilemez), bu yüzden kullanırken çok dikkatli olunmalıdır.


TRUNCATE TABLE tablo_adı;

Elma kasamızı boşaltmak için:

TRUNCATE TABLE Elmalar;

Customers tablosunu boşaltalım ve tekrar sonuçları görelim;

TRUNCATE FROM Customers;

Bu komutu çalıştırdıktan sonra SELECT ile tablodan veri görüntülemeye çalıştığımızda önümüze boş bir tablo gelecektir.

SELECT * FROM Customers;
SQL select * from customers


Özetle..


INSERT komutu ile veri tabanımıza yeni bilgiler ekleyebilir, elma kasamızı taze elmalarla doldurabiliriz. DELETE komutu ile ise artık ihtiyacımız olmayan veya hatalı kayıtları silebilir, kasamızdaki "bozuk elmaları" temizleyebiliriz. Unutmayın, DELETE komutunu kullanırken WHERE ifadesine özellikle dikkat etmeli, yanlışlıkla tüm verinizi silmekten kaçınmalıyız.

Bu temel veri manipülasyon komutları, SQL'in veri üzerinde nasıl kontrol sağladığını anlamanın ilk adımlarıdır. Bir sonraki yazımızda, mevcut verileri değiştirmemizi sağlayan UPDATE komutunu inceleyeceğiz.


Takipte kalın ve veri dünyasındaki yolculuğumuza devam edelim!

 
 
 

Yorumlar


bottom of page