Insert deyimi, veritabanına kayıt eklemek için kullandığımız temel sql komutlarından bir tanesidir. Bu yazımda en basit insert komutu kullanımından başlayarak, örnekler üzerinden detaylarıyla konuyu anlatmaya çalışacağım. Örnekler için aşağıdaki musteriler tablosunu oluşturdum.

https://www.kodlamamerkezi.com/
Tabloya Bir Kaydın Eklenmesi
Yukarıdaki tablomuza bir kayıt eklemek için;
1
2
|
insert into musteriler (tcno,isim,soyisim,yas,telefon,adres,kayittarihi)
values(‘12345678901’,‘Kutlay’,‘Işık’,28,‘0232-1234567’,‘Torbalı’,‘20141116’)
|
Yukarıda ki sorgu çalıştırıldığında kayıt aşağıdaki gibi tablomuza eklenecektir.

Bir insert sorgusu yazarken aşağıdaki hususlara dikkat etmemiz gerekir.
- Tablo içerisindeki hangi kolonlara veri eklenecekse o kolonların adları aralara virgül konularak yazılır.
- Varchar tipindeki veriler ‘tek_tirnak’ arasına yazılır.
- Date, datetime türündeki veriler ‘tek_tırnak’ arasına ‘yyyymmdd’ gibi tarih formatına dönüştürülebilecek formatta yazılır.
- Kolon sayısıyla girilecek verilerin sayısı aynı olmalıdır.
- Veritabanı oluşturulurken Allow Null seçeneği işaretlenmiş sütunlara veri girme işlemi kullanıcının isteğine bırakılmıştır.
- Primary Key olarak belirlenmiş alana aynı kayıt tekrar eklenemez. Karışıklığı önlemek için bu alanların değeri otomatik olarak arttırılabilir.
Default Değerleri Tabloya Ekleme
Insert işlemi sırasında bazı kolonlara veri girme işlemini tabloyu oluştururken belirlediğimiz default(varsayılan) değer olarak girmek isteyebiliriz. Yukarıdaki tablomuzda kayittarihi alanına varsayılan olarak bugünün tarihini atamak istersek;
kayittarihi alanı özelliklerinden Default Value özelliğini aşağıdaki gibi değiştiriniz.

Tablomuzda değişiklik yaptıktan sonra default değeri otomatik eklemek için oluşturacağımız sorgu şu şekilde olacaktır.
1
2
|
insert into musteriler (tcno,isim,soyisim,yas,telefon,adres,kayittarihi)
values(‘12345678901’,‘Mehmet’,‘Güzel’,28,‘0232-1234567’,‘İzmir’,default)
|
Guid (UniqueIdentifier) Değerlerin Tabloya Eklenmesi
Guid (Globally Unique Identifier) 16 byte uzunluğunda dünya üzerinde eşi benzeri bulunmayan bir değeri ifade eder. Çok büyük veriler içeren tablolarla çalışılırken ve tablolar birleştirilmek istendiğinde veri kaybını önlemek için guid değeri kullanılır.
Elimizdeki musteriler tablosunda veri tipi guid olan bir alan bulunmamaktadır. Fakat yinede en sonda guidid olacak şekilde insert sorgumuzu oluşturalım.
1
2
|
insert into musteriler (tcno,isim,soyisim,yas,guidid)
values(‘12345678901’,‘Mehmet’,‘Güzel’,35,NewId())
|
Insert ve Select Komutlarının Birlikte Kullanılması
Bazı durumlarda kayıt eklenirken bir alandaki veri için, başka bir tabloda bulunan ilgili alandaki veriye ihtiyaç duyulabilir. Böyle durumlarda insert ve select deyimlerinin birlikte kullanılması gerekir.
1
2
|
insert into musteriler (tcno,isim,soyisim,yas,telefon)
values(‘12345678901’,‘Ayşe’,‘Çelik’,24,(select telefon from telefonBilgileri where id=1))
|
Yukarıdaki örnekte Ayşe Çelik isimli kişinin telefon numarası, telefonBilgileri tablosundaki telefon alanından çekildikten sonra kayıt işlemi gerçekleşmiştir.
Bu yöntem ile birden çok kayıt, başka bir tablodan çekilerek tek bir sorgu ile veritabanına eklenebilir.
Insert komutuyla veritabanına kayıt ekleme işlemini, ençok ihtiyaç duyulan konuları ele alarak anlatmaya çalıştım. Eğer merak ettiğiniz ve burada yer almasını istediğiniz konular varsa yorum olarak alt kısımda ki bölümden isteyebilirsiniz. Kolay gelsin…