← Back to list

DATA MANİPÜLASYON(DML) KOMUTLARI

SELECT : Veritabanından kayıtları çeker

Ferdi Karagoz · 2025-04-17 18:33 · 0 claps · 3.1 min read
#select #updates #delete #insert-into #turancate-table
Open on Medium ↗

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ı;
  1. İş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.
  1. 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).
  1. 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.
  1. Trigger’lar

 DELETE tetikleyicileri (triggers) çalıştırır.
 TRUNCATE tetikleyici çalıştırmaz. (After/Before trigger’lar tetiklenmez.)
  1. 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