SQL’de INSERT komutu, bir tabloya yeni veri eklemek için kullanılır. Veri tabanında yeni kayıtlar oluştururken en temel SQL komutlarından biridir.
INSERT INTO Syntax Yapısı
1 2 | INSERT INTO tablo_adi (sutun1, sutun2, ...) VALUES (deger1, deger2, ...); |
- tablo_adi: Verinin ekleneceği tablo adı.
- sutun1, sutun2, …: Değerlerin ekleneceği sütunlar.
- deger1, deger2, …: Girilecek değerler.
Temel INSERT Kullanımı
Örneğin, bir calisanlar tablosuna yeni bir çalışan ekleyelim:
1 2 | INSERT INTO calisanlar (isim, soyisim, departman, maas) VALUES ('Oktay', 'Ala', 'Bilgi İşlem', 60000); |
Bu işlem, calisanlar tablosuna yeni bir kayıt ekler.
Birden Fazla Veri Ekleme
Aynı anda birden fazla satır eklemek için INSERT komutunu şu şekilde kullanabiliriz:
1 2 3 4 5 | INSERT INTO calisanlar (isim, soyisim, departman, maas) VALUES ('Mehmet', 'Demir', 'Muhasebe', 50000), ('Ayşe', 'Kaya', 'İnsan Kaynakları', 45000), ('Zeynep', 'Öztürk', 'Pazarlama', 55000); |
Bu sorgu, calisanlar tablosuna üç yeni kayıt ekler.
Belirli Sütunlara Veri Ekleme
Tüm sütunlara değer girmek zorunda değiliz. Örneğin, sadece isim ve departman bilgisi ekleyebiliriz:
1 2 | INSERT INTO calisanlar (isim, departman) VALUES ('Can', 'Satış'); |
Eksik bırakılan sütunlar NULL veya varsayılan değer alır.
SELECT ile Veri Ekleme
Başka bir tablodan veri çekerek yeni bir tabloya eklemek için INSERT INTO … SELECT kullanılabilir:
1 2 | INSERT INTO eski_calisanlar (isim, soyisim, departman) SELECT isim, soyisim, departman FROM calisanlar WHERE maas < 40000; |
Bu sorgu, maaşı 40.000 TL’den düşük olan çalışanları eski_calisanlar tablosuna ekler.
AUTO_INCREMENT Kullanımı
Eğer bir tablonun id sütunu AUTO_INCREMENT olarak tanımlandıysa, bu sütuna değer atamak zorunda değiliz. Veri otomatik olarak bir sonraki sayıyı alır.
Örneğin:
1 2 | INSERT INTO musteriler (isim, sehir) VALUES ('Ali Veli', 'İstanbul'); |
Burada musteriler tablosunun id sütunu varsa ve AUTO_INCREMENT olarak ayarlandıysa, yeni kayıt otomatik bir id alır.