SQL’de INSERT INTO Komutu
SQL’de veritabanına kayıt eklemek için INSERT INTO deyimini kullanırız. Bu derste örnek bir tablo üzerinde INSERT INTO deyiminin kullanımıyla ilgili bazı örnekler yapacağız.
Önceki derslerde de olduğu gibi, bu derste de aşağıdaki örnek tablomuzu kullanacağız.
tablo: personel
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Bilgi İşlem | 1977 | Ankara | 1450 |
54 | Selim Kaya | Bilgi İşlem | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1300 |
Not: Tablodaki ID alanı birincil anahtar, ID, dtarihi ve maas alanları sayısal, diğerleri metin tiptedir. Ayrıca normal şartlarda bolum ve dyeri alanlarında ilişki kurulması gerekir. Fakat burada konuyu basit tutmak amacıyla bilgiler bu şekilde kaydedilmiştir.
INSERT INTO deyiminin formatı şu şekildedir:
INSERT INTO [tablo adı](alan adları) VALUES (veriler)
Bu formata göre INSERT INTO deyiminden sonra kayıt eklemek istediğimiz tablonun adını yazıyoruz. Tablo adından sonra parantez içerisinde tabloda veri eklemek istediğimiz alanları belirtiyoruz. Son olarak sıralı bir şekilde alanlara karşılık gelen verileri yazıyoruz. Burada tablo adından sonra alanları belirtmezsek, tabloda bulunan bütün alanlara veri gireceğimiz anlamına gelir. Basit bir örnekle başlayalım:
INSERT INTO personel VALUES(65,'Metin Yıldız','Reklam',1975,'İstanbul',1350)
Bu SQL komutunda tablodan sonra herhangi bir alan adı belirtmedik. Dolayısıyla tablodaki bütün alanlara karşılık gelen değerleri VALUES (değerler) ifadesinden sonra yazdık. Ayrıca eğer ID alanı otomatik sayı olsaydı, otomatik sayıya dışardan değer giremeyeceğimiz için o kısmı es geçmemiz gerekecekti. Fakat buradaki tabloda metin tipinde olduğu için kendimiz girdik. Yine burada dikkat edilmesi gereken başka bir husus, metin tipindeki alanlara ekleyeceğimiz verileri tek tırnak arasına alıyoruz. Bu komuttan sonra tablomuza yeni bir kayıt eklenecek ve tablonun son hali şu şekilde olacaktır:
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Bilgi İşlem | 1977 | Ankara | 1450 |
54 | Selim Kaya | Bilgi İşlem | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1300 |
65 | Metin Yıldız | Reklam | 1975 | İstanbul | 1350 |
Başka bir örnekle devam edelim. Bu kez tablodaki belirli alanlara veri girişi yapacağız:
INSERT INTO personel(ID,isim,bolum) VALUES(71,'Serap Demirci','Reklam')
Bu komuttan sonra tabloya yine bir kayıt ekelenecek, fakat bu kez sadece belirtilen alanlara veri eklenecek diğer alanlar boş kalacaktır. Dolayısıyla tablonun son hali şu şekilde olacaktır.
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Bilgi İşlem | 1977 | Ankara | 1450 |
54 | Selim Kaya | Bilgi İşlem | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1300 |
65 | Metin Yıldız | Reklam | 1975 | İstanbul | 1350 |
71 | Serap Demirci | Reklam |
Görüldüğü üzere dtarihi, dyeri, ve maas alanları boş kaldı. Eğer daha sonradan bu boş alanlara veri girilmek istenirse UPDATE deyiminin kullanılması gerekir.
Özetlersek; INSERT INTO tablolara veri eklemek için kullanılıyor. İki şekilde kullanımı mevcut. Birinde alan adı belirtilmeksizin bütün alanlara veri giriliyor. İkincisinde ise sadece belirli alanlara veri giriliyor. Örneklerimiz bu kadar, faydalı olması dileğiyle.