Daha önce veri tabanlarından Veri Tabanı Dünyasına Giriş: Bilgisayar Sistemlerinde Veri Tabanı yazımızda bahsetmiştik. Bu yazımızda veri tabanlarında veriye erişim için kullandığımız sorgu dili olan SQL hakkında konuşacağız.Günümüzün dijital çağında veri, işletmelerin ve kuruluşların en değerli varlıklarından biri haline gelmiştir. Veri, işletmelerin karar alma süreçlerinden müşteri ilişkilerine kadar her alanı etkilemektedir. Bu nedenle, verilerin güvenli ve etkili bir şekilde saklanması, erişilmesi ve işlenmesi büyük önem taşır. İşte burada SQL (Structured Query Language), yani Yapılandırılmış Sorgu Dili, devreye giriyor.
SQL’in Kökenleri
SQL’in kökenleri, modern veri tabanı sistemlerinin gelişimiyle yakından ilişkilidir. İlk veri tabanı sistemleri, 1960’lı ve 1970’li yıllarda ortaya çıkmıştır. Bu dönemde, verilerin saklanması ve erişilmesi için farklı yöntemler kullanılmıştır. Ancak, IBM’in System R projesiyle birlikte ilişkisel veri tabanı modeli ve bu modeli desteklemek için geliştirilen bir sorgu dili olan SQL, endüstri standardı haline gelmiştir.
İlk olarak 1970’lerin ortalarında IBM’de çalışan Edgar F. Codd tarafından geliştirilen ilişkisel model, verilerin tablolar halinde düzenlenmesini ve ilişkilendirilmesini sağlamıştır. Bu model, veriye erişmek ve işlemek için standart bir dilin ihtiyacını ortaya çıkarmıştır. Bu ihtiyacı karşılamak için de SQL geliştirilmiştir.
SQL’in adı başlangıçta “SEQUEL” (Structured English Query Language) olarak geçiyordu ancak daha sonra “SQL” olarak kısaltılmıştır. İlk ticari ilişkisel veri tabanı yönetim sistemleri (RDBMS) ve SQL uygulamaları, 1970’lerin sonlarına doğru ve 1980’lerin başlarında ortaya çıkmıştır.
Bu dönemde, SQL’in standartlaştırılması için çeşitli girişimlerde bulunulmuş ve ANSI (American National Standards Institute) ve ISO (International Organization for Standardization) tarafından SQL’in bir standart haline getirilmesi için çalışmalar yürütülmüştür. Bu sayede SQL, farklı veri tabanı sistemlerinde kullanılabilir hale gelmiş ve endüstri genelinde kabul görmüştür.
Temel SQL Komutları
SQL İle Veri Tabanı Oluşturma
Bir konuyu öğrenmenin en iyi yolu bence pratik yapmaktır. Gelin birlikte uygulayarak SQL çalışalım.
İşe ne yapacağımızı bilmekle başlayalım. Basit bir senaryoda Kent Köy A.Ş. şirketi için çalışanlarının verilerini tutan bir veri tabanı tasarlayalım.
İlk olarak KentKoyAS ismindeki veri tabanımızı ouşturalım:

1 | create database KentKoyAS |
Yukarıdaki komutla create ile yeni bir yapı ,ardından database diyerek KentKoyAS adında bir veri tabanı oluşturacağımızı belirttik.
Tablo Oluşturma
Tablomuzu oluşturmaya geçmeden önce oluşturduğumuz veri tabanını seçmemiz gerek.
1 | use KentKoyAS |
Sırada tablomuzun alanlarını belirlemek var. Tablomuzda “Id”,”AdSoyad”,”Departman”,”Email”,”BaslangicTarihi” alanları olsun. Bu alanları eklerken hangi veri türünde eklememiz gerektiğine dikkat etmeliyiz.Veri türü belirlerken Berkay Koşak tarafından yazılan SQL Server Veri Tipleri yazısından faydalanabilirsiniz.

SQL İle Tabloya Veri Ekleme
Veri tabanımızı ve tablomuzu oluşturduk. Şimdi tablomuzda çalışabilmemiz için verilerimizi eklememiz gerek Ekleme işlemimizi Insert Into komutuyla yapacağız.
Ekleyeceğmiz veriler :
- Id : 1 , AdSoyad : “Yahya TEZCAN”, Departman : “Yazılım”, Email:”[email protected]” , BaslangicTarihi : “24.04.2024”
- Id : 2 , AdSoyad : “Samet KOLCU”, Departman : “E-Ticaret”, Email:”[email protected]” , BaslangicTarihi : “30.01.2022”
- Id : 3 , AdSoyad : “Semih ÇELEBİ”, Departman : “AR-GE”, Email:”[email protected]” , BaslangicTarihi : “08.11.2023”
- Id : 4 , AdSoyad : “Muhammet Hasan Uyar”, Departman : “AR-GE”, Email:”[email protected]” , BaslangicTarihi : “02.02.2024”
- Id : 5, AdSoyad : “Emin YILMAZ”, Departman : “AR-GE”, Email:”[email protected]” , BaslangicTarihi : “22.06.2020”
- Id : 6, AdSoyad : “Metehan Ülger”, Departman : “Üretim”, Email:”[email protected]” , BaslangicTarihi : “02.08.2020”
Insert into komutumuzu yazdıktan sonra tablo adımızı yazıyoruz. Ardından values diyip parantezlerimizi açıyoruz. Parantezlerin içine sırasıyla tablomuzun alanlarına karşılık gelen değerlerimizi giriyoruz.
1 2 3 4 5 6 |


Verilerimizi tablomuza ekledik
Tablodaki Verileri Okumak
Şimdi gelelim verilerimizi tablomuzdan okuyacak olan SQL kodunu yazmaya. İlk olarak tablodaki tüm verileri alalım.
1 | select * from Calisanlar |
Kodumuzdaki select ifadesiyle okuma yapacağımızı * ile de tablomuzun tüm alanlarını getirmesini istediğimizi belirttik. Ardından hangi tablomuzda çalışacağımızı yazdık. Şimdi kodumuzu çalıştıralım.

Sıkıntısız bir şekilde sonucumuzu aldık. Şimdiyse sadece çalışanların Ad Soyad ve Departman bilgilerini SQL ile alalım. Biraz önce tüm verileri alırken * operatörünü kullanmıştık şimdi sadece belirli alanları almak istediğimiz için almak istediğimiz alanları * yerine yazmamız yeterli olacaktır.

Süper, istediğimize ulaştık sırada koşullu sorgularımız var. Koşullu sorgular belirttiğimiz şartları sağlayan kayıtları almamızda bize yardımcı oluyor. Koşullu sorgumuzu where operatörüyle başlatıyoruz. Bizim tablomuzda AR-GE departmanında çalışan arkadaşların AdSoyad ve Departman bilgisini listelemek istediğimiz senaryoyu düşünelim.
1 | select AdSoyad,Departman from Calisanlar where Departman ='AR-GE' |

İstediğimiz sonuçları aldık.
Veri Güncelleme
Şimdi sırada elimizdeki verileri güncellemekte. Muhammet Hasan UYAR’ın AR-GE departmanından Yazılım departmanına geçtiği senaryoyu düşünelim.
1 | update Calisanlar set Departman='Yazilim' where AdSoyad = 'Muhammet Hasan UYAR' |
Öncelikle update anahtar kelimesiyle günceme yapacağımızı belirtiyoruz. Ardından İşlem yapacağımız tablomuzu yazıyoruz. Set ile değiştirmek istediğimiz alana yeni değerini veriyoruz ardından where ile hangi şartlardaki verilerin bu değişimden etkileneceğini belirliyoruz
Örneğimizde Calisanlar tablosundaki AdSoyad kısmı ‘Muhammet Hasan UYAR’ olan kaydın Departman alanını Yazilim olarak değiştirdi.
“select * from Calisanlar” komutuyla tüm tabloyu sorgulayıp değişikliği kontrol edelim

İşlemimiz Başarılı 🙂
Kayıt Silme
Şimdi sıra son CRUD işlemimiz olan silmede. Emin, elinde olmayan sebeplerden dolayı aramızdan ayrıldı. Şimdi Eminin kaydını SQL kullanarak silelim.
1 | delete from Calisanlar where AdSoyad='Emin YILMAZ' |

Silme işlemi için delete from anahtar kelimesini kullanıyoruz. Delete form dedikten sonra çalışacağımız tabloyu belirtiyoruz. Ardından hangi kaydın silineceğini belirlemek için bir koşul belirliyoruz.Biz burda AdSoyad kullandık. Tüm tabloyu select ile sorguladığımızda Emin arkadaşımızın artık bizimle olmadığını görebiliriz :).
Eveeet bu yazımızın da sonuna geldik.Bu yazımızda SQL nedir dedik tarihini öğrendik ve temel işlemleri (CRUD) uygulayarak öğrendik. Şimdi sıra pratikte bu öğrendiklerimiz pratikler yaarak kalıcı hale getirmemiz gerek.SQL ile deneme ve pratik çalışmaları yapmak için benim de bu yazıda kaynak olarak kullandığım w3schools’un SQL Egzersizleri sayfasını kullanabilirsiniz.