DATA MANİPÜLASYON(DML) KOMUTLARI
SELECT : Veritabanından kayıtları çeker
DATA MANİPÜLASYON(DML) KOMUTLARI
SELECT : Veritabanından kayıtları çeker
UPDATE : Bir tablodaki kaydın bir ya da daha fazla alanının günceller, değiştirir.
DELETE : Bir tablodan kayıt siler
INSERT INTO : Tabloya yeni kayıt ekler.
TRUNCATE TABLE : Tablonun içini boşaltır.
- SELECT Komutu;
SELECT
COLUMUN1
FROM
ETADE.DBO.CUSTOMER
SELECT [ErrorTime],[UserName],[ErrorLine] FROM AdventureWorks2019.dbo.ErrorLog
- INSERT Komutu;
INSERT INTO TABLOADI
(KOLON1, KOLON2, KOLON3,…)
VALUES
(DEGER1, DEĞER2, DEĞER3,…)
NOT: IDENTITY (otomatik artan) bir sütunsa buraya değer verilmemeli ya da DEFAULT denmeli.
INSERT INTO DatabaseLog
([PostTime], [DatabaseUser], [Event], [Schema], [Object], [TSQL], [XmlEvent])
VALUES
('2025-05-05 12:07:29.25', 'sql', 'ALTER_TABLE', 'dbo', 'ErrorLog',
'CREATE TYPE [Flag] FROM bit NOT NULL;',
'CREATE TYPE [Flag] FROM bit NOT NULL;');
- UPDATE Komutu;
UPDATE TABLOADI
SET COLUMUN1 = VALUE1, COLUMUN2=VALUE2, COLUMUN3=VALUE3 …

- DELETE Komutu;
DELETE FROM TABLOADI
Bir tablodaki kayıtları başka bir tabloya kopyalamak için;
core.wait_types isimli tablodaki tüm dataları çek core.wait_types_yedek isimli tabloya bu kayıtları yaz.
SELECT * INTO core.wait_types_yedek FROM core.wait_types
DELETE FROM core.wait_types_yedek ---> core.wait_types_yedek tablosundaki kayıtları sil.
TURANCATE TABLE core.wait_types_yedek.
- DELETE TURANCATE Komutu Farkları;
- İşlev
DELETE → Tablo içindeki belirli satırları veya tüm satırları siler. WHERE kullanılabilir.
TRUNCATE → Tablodaki tüm satırları hızlıca siler. WHERE kullanılamaz.
- Performans
TRUNCATE çok daha hızlıdır, çünkü satır satır işlem yapmaz; tüm veriyi topluca kaldırır.
DELETE daha yavaştır, çünkü her satırı tek tek siler (özellikle WHERE kullanıldığında).
- Geri Alınabilirlik (ROLLBACK)
Her ikisi de bir transaction içinde kullanılırsa ROLLBACK yapılabilir.
BEGIN TRAN
DELETE FROM tablo
ROLLBACK
Ancak bazı eski SQL Server sürümlerinde TRUNCATE rollback yapılmaz gibi düşünülürdü; güncel sürümlerde bu desteklenir.
- Trigger’lar
DELETE tetikleyicileri (triggers) çalıştırır.
TRUNCATE tetikleyici çalıştırmaz. (After/Before trigger’lar tetiklenmez.)
- IDENTITY Kolon Etkisi
DELETE kullanıldığında IDENTITY değeri değişmez.
TRUNCATE kullanıldığında IDENTITY değeri sıfırlanır.
Örneğin ID 100'deyse:
DELETE sonrası yeni kayıt 101 olur.
TRUNCATE sonrası yeni kayıt 1 olur.

- WHERE Şartları;
SELECT * FROM TABLOADI
WHERE COLUMUN1=VALUE1
- Sık Kullanılan WHERE Şartları;

Örnekler:
1. A harfiyle başlayan isimler:
SELECT * FROM Ogrenciler
WHERE Ad LIKE 'A%';
2. 2023 yılı maaşı 10.000’den büyük olanlar:
SELECT * FROM Calisanlar
WHERE Maas2023 > 10000;
3. Yaşı 25 ila 35 arasında olanlar:
SELECT * FROM Kullanicilar
WHERE Yas BETWEEN 25 AND 35;
4. Şehir İstanbul veya Ankara olanlar:
SELECT * FROM Musteriler
WHERE Sehir IN ('İstanbul', 'Ankara');
5. Telefon bilgisi eksik olanlar:
SELECT * FROM Rehber
WHERE Telefon IS NULL;
6. Şehri İstanbul, Ankara veya İzmir olan müşteriler
SELECT * FROM Musteriler
WHERE Sehir IN ('İstanbul', 'Ankara', 'İzmir');
7. Bu da "Elektronik" ve "Giyim" olmayan ürünleri getirir.
SELECT * FROM Urunler
WHERE Kategori NOT IN ('Elektronik', 'Giyim');
- AND\OR
AND: Tüm koşullar doğru olmalı
OR: En az bir koşul doğru olmalı
- DISTINCT KOMUTU
DISTINCT komutu SQL’de aynı olan kayıtların tekrar etmesini engelleyip, benzersiz (unique) değerleri döndürmek için kullanılır. Genelde SELECT ifadesiyle birlikte yazılır.
SELECT DISTINCT COLUMN1, COLUMN2
FROM TABLOADI

SELECT DISTINCT City
FROM Customers;

- ORDER BY KOMUTU
ORDER BY komutu, SQL’de sorgu sonuçlarını belirli bir sütuna göre sıralamak için kullanılır.
SELECT COLUMN1, COLUMN2…
FROM TABLOADI
ORDER BY COLUMN1 ASC, COLUMN2 DESC
Örnekler:
1. İsimleri artan sıraya göre getir:
SELECT * FROM calisanlar
ORDER BY isim ASC;
2. Maaşlara göre azalan sırada sırala:
SELECT isim, maas FROM calisanlar
ORDER BY maas DESC;
3. Birden fazla sütuna göre sıralama:
SELECT isim, departman, maas FROM calisanlar
ORDER BY departman ASC, maas DESC;
- TOP KOMUTU
TOP komutu, SQL’de sorgu sonucunda dönecek satır sayısını sınırlandırmak için kullanılır.
SELECT TOP n * FROM tablo_adı;
n: Döndürülmek istenen satır sayısıdır.
Örnekler:
1. En üstteki 5 çalışanı getir:
SELECT TOP 5 * FROM calisanlar;
2. En yüksek maaşı alan 3 kişiyi getir:
SELECT TOP 3 isim, maas
FROM calisanlar
ORDER BY maas DESC;
NOT:Yüzdelik dilim kullanarak da sınırlandırabilirsin:
SELECT TOP 10 PERCENT * FROM calisanlar;
Bu örnek, çalışanların %10'unu getirir. 메타데이터
- post_id
- ef3f1c072b7f
- slug
- data-mani̇pülasyon-dml-komutlari-ef3f1c072b7f
- url
- https://medium.com/@f.karagoz.1094/data-mani%CC%87p%C3%BClasyon-dml-komutlari-ef3f1c072b7f
- canonical_url
- https://medium.com/@f.karagoz.1094/data-mani%CC%87p%C3%BClasyon-dml-komutlari-ef3f1c072b7f
- author_url
- https://medium.com/@f.karagoz.1094
- status
- ok
- fetched_at
- 2026-07-24 19:07:46