SQL Dilinde Temel Komutlara Giriş
SQL (Structured Query Language), ilişkisel veritabanlarını yönetmek ve manipüle etmek için kullanılan standart bir programlama dilidir. Veritabanı sistemleriyle etkileşim kurmanın temelini oluşturan bu dil, veri tanımlama (DDL) ve veri işleme (DML) gibi çeşitli görevleri yerine getirmek için güçlü komut setleri sunar. Bu makale, SQL diline yeni başlayanlar için temel veritabanı işlemleri olan tablo oluşturma, veri ekleme, seçme, güncelleme ve silme komutlarının kullanımını adım adım açıklamaktadır.
Temel Sözdizimi
Aşağıda, SQL'de en sık kullanılan ve başlangıç seviyesi için kritik olan temel DDL ve DML komutlarının genel sözdizimleri yer almaktadır. Bu sözdizimleri, veritabanı nesnelerini oluşturmak ve verileri yönetmek için kullanılır.
-- Veritabanı Oluşturma (DDL)
CREATE DATABASE veritabani_adi;
-- Tablo Oluşturma (DDL)
CREATE TABLE tablo_adi (
    sutun1_adi VERI_TIPI [KISITLAMALAR],
    sutun2_adi VERI_TIPI [KISITLAMALAR],
    ...
);
-- Veri Ekleme (DML)
INSERT INTO tablo_adi (sutun1, sutun2, ...)
VALUES (deger1, deger2, ...);
-- Veri Seçme (DML)
SELECT sutun1, sutun2, ...
FROM tablo_adi
WHERE kosul;
-- Veri Güncelleme (DML)
UPDATE tablo_adi
SET sutun1 = yeni_deger1, sutun2 = yeni_deger2, ...
WHERE kosul;
-- Veri Silme (DML)
DELETE FROM tablo_adi
WHERE kosul;
Detaylı Açıklama
Yukarıda belirtilen temel SQL komutlarının her bir bileşeni, belirli bir işlevi yerine getirir:
CREATE DATABASE veritabani_adi;: Yeni bir veritabanı oluşturmak için kullanılır.veritabani_adi, oluşturulacak veritabanının adını temsil eder.CREATE TABLE tablo_adi (...): Yeni bir tablo oluşturmak için kullanılır.tablo_adi, oluşturulacak tablonun adıdır. Parantez içindeki kısım, tablonun sütunlarını, veri tiplerini ve kısıtlamalarını tanımlar.sutun_adi VERI_TIPI [KISITLAMALAR]: Bir sütunun adını, saklayacağı veri tipini (örneğin,INT,VARCHAR(255),DATE) ve isteğe bağlı kısıtlamaları (örneğin,PRIMARY KEY,NOT NULL,UNIQUE) belirtir.INSERT INTO tablo_adi (sutun1, sutun2, ...) VALUES (deger1, deger2, ...): Belirtilen tabloya yeni bir satır veri eklemek için kullanılır. Sütun adları listesi, değerlerin hangi sütunlara ekleneceğini belirtir;VALUESanahtar kelimesi ise eklenecek gerçek değerleri içerir.SELECT sutun1, sutun2, ... FROM tablo_adi WHERE kosul: Bir tablodan veri çekmek için kullanılır.SELECTsonrasında belirtilen sütunlar, sorgunun döndüreceği verileri belirler. Tüm sütunları seçmek için*kullanılabilir.FROM, verinin hangi tablodan çekileceğini gösterir.WHEREanahtar kelimesi, belirli koşulları karşılayan satırları filtrelemek için kullanılır.UPDATE tablo_adi SET sutun1 = yeni_deger1, ... WHERE kosul: Bir tablodaki mevcut verileri güncellemek için kullanılır.SETanahtar kelimesi, hangi sütunların hangi yeni değerlerle güncelleneceğini belirtir.WHEREkoşulu, hangi satırların etkileneceğini belirler; bu koşul olmadan tüm satırlar güncellenir.DELETE FROM tablo_adi WHERE kosul: Bir tablodan veri silmek için kullanılır.WHEREkoşulu, hangi satırların silineceğini belirler; bu koşul olmadan tablodaki tüm satırlar silinir.
Pratik Kullanım Örnekleri
Aşağıdaki örnekler, yukarıda açıklanan temel SQL komutlarının gerçek dünya senaryolarında nasıl kullanıldığını göstermektedir. Bu örnekler, bir "Calisanlar" tablosu üzerinden ilerleyecektir.
Örnek 1: Veritabanı ve Tablo Oluşturma
Öncelikle, bir veritabanı ve içinde çalışan bilgilerini tutacak bir tablo oluşturalım. Bu tablo, çalışan ID'si, adı, soyadı, departmanı ve maaşı gibi temel bilgileri içerecektir.
-- "SirketDB" adında bir veritabanı oluşturma
CREATE DATABASE SirketDB;
-- Oluşturulan veritabanını kullanmak için (çoğu SQL istemcisinde gereklidir)
USE SirketDB;
-- "Calisanlar" tablosunu oluşturma
CREATE TABLE Calisanlar (
    CalisanID INT PRIMARY KEY,
    Ad VARCHAR(50) NOT NULL,
    Soyad VARCHAR(50) NOT NULL,
    Departman VARCHAR(50),
    Maas DECIMAL(10, 2)
);
Örnek 2: Veri Ekleme
Şimdi "Calisanlar" tablosuna birkaç çalışan kaydı ekleyelim.
INSERT INTO Calisanlar (CalisanID, Ad, Soyad, Departman, Maas)
VALUES (101, 'Ahmet', 'Yılmaz', 'IT', 75000.00);
INSERT INTO Calisanlar (CalisanID, Ad, Soyad, Departman, Maas)
VALUES (102, 'Ayşe', 'Demir', 'İK', 60000.00);
INSERT INTO Calisanlar (CalisanID, Ad, Soyad, Departman, Maas)
VALUES (103, 'Mehmet', 'Can', 'IT', 80000.00);
INSERT INTO Calisanlar (CalisanID, Ad, Soyad, Departman, Maas)
VALUES (104, 'Zeynep', 'Kaya', 'Finans', 70000.00);
Örnek 3: Veri Seçme
Tablodaki tüm çalışanları listelemek, belirli bir departmandaki çalışanları veya belirli bir maaşın üzerindeki çalışanları seçmek için SELECT komutunu kullanalım.
-- Tüm çalışanları ve bilgilerini seçme
SELECT *
FROM Calisanlar;
-- Sadece IT departmanındaki çalışanların adını ve soyadını seçme
SELECT Ad, Soyad
FROM Calisanlar
WHERE Departman = 'IT';
-- Maaşı 70000'den yüksek olan çalışanları seçme
SELECT CalisanID, Ad, Maas
FROM Calisanlar
WHERE Maas > 70000;
Örnek 4: Veri Güncelleme
Bir çalışanın maaşını veya departmanını güncellemek için UPDATE komutunu kullanalım.
-- Ahmet Yılmaz'ın maaşını 80000 olarak güncelleme
UPDATE Calisanlar
SET Maas = 80000.00
WHERE CalisanID = 101;
-- Zeynep Kaya'nın departmanını 'Muhasebe' olarak güncelleme
UPDATE Calisanlar
SET Departman = 'Muhasebe'
WHERE CalisanID = 104;
Örnek 5: Veri Silme
Bir çalışanı tablodan silmek için DELETE FROM komutunu kullanalım.
-- Ayşe Demir'i tablodan silme
DELETE FROM Calisanlar
WHERE CalisanID = 102;
-- Tüm IT departmanı çalışanlarını silme (DİKKAT: Bu komut geri alınamaz!)
-- DELETE FROM Calisanlar WHERE Departman = 'IT';
Önemli Notlar
Büyük/Küçük Harf Duyarlılığı: SQL komutları genellikle büyük/küçük harfe duyarlı değildir (
SELECT,selectveyaSelectaynıdır). Ancak, bazı veritabanı sistemlerinde tablo ve sütun adları büyük/küçük harfe duyarlı olabilir. En iyi uygulama, tutarlı bir adlandırma stratejisi izlemektir.Noktalı Virgül: Çoğu SQL veritabanı yönetim sistemi, her SQL ifadesinin sonunda noktalı virgül (
;) kullanılmasını gerektirir veya bunu iyi bir uygulama olarak kabul eder. Bu, birden fazla ifadenin tek bir komut bloğunda çalıştırılmasını sağlar.WHEREKoşulunun Önemi:UPDATEveDELETEkomutlarını kullanırkenWHEREkoşulunu dikkatlice belirtmek çok önemlidir.WHEREkoşulu olmadan bu komutlar, tablodaki tüm satırları etkileyecektir, bu da istenmeyen veri kaybına yol açabilir.Veri Tipleri: Tablo oluştururken doğru veri tiplerini seçmek, verilerin doğru şekilde saklanmasını ve performansın optimize edilmesini sağlar. Örneğin, metin verileri için
VARCHAR, tam sayılar içinINT, ondalıklı sayılar içinDECIMALveyaFLOATkullanılır.Yorumlar: SQL kodunda yorum satırları eklemek, kodun okunabilirliğini artırır. Tek satırlık yorumlar için
--, çok satırlık yorumlar için/* ... */kullanılır.
        
                
            
            
Yorum yap
Yorumlar