Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
SQL Dilinde `INSERT INTO` Komutunun Detaylı Kullanımı

SQL Dilinde `INSERT INTO` Komutunun Detaylı Kullanımı

Veritabanı yönetim sistemlerinde, tablolara yeni veri satırları eklemek temel bir işlemdir. SQL dilinde bu amaçla kullanılan anahtar komut INSERT INTO ifadesidir. Bu komut, bir tablonun belirli sütunlarına veya tüm sütunlarına tek bir satır veri eklemekten, başka bir sorgunun sonucunu kullanarak birden fazla satır eklemeye kadar geniş bir kullanım yelpazesine sahiptir. Bu makale, INSERT INTO komutunun sözdizimini, detaylı açıklamalarını ve pratik örneklerini sunarak veritabanı manipülasyonu yeteneklerinizi geliştirmeyi amaçlamaktadır.


Sözdizimi


INSERT INTO komutu, temelde iki farklı şekilde kullanılabilir. Birincisi, belirli sütunlara değer atamak için kullanılırken, ikincisi tablonun tüm sütunlarına değer atamak için kullanılır.


-- Belirli sütunlara veri ekleme
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

-- Tablonun tüm sütunlarına veri ekleme (sütun sırasına dikkat edilmeli)
INSERT INTO table_name
VALUES (value1, value2, value3, ...);

-- Başka bir tablodan veri kopyalama
INSERT INTO table_name (column1, column2, ...)
SELECT column_a, column_b, ...
FROM source_table
WHERE condition;

Detaylı Açıklama


Yukarıda belirtilen sözdizimindeki her bir bileşenin işlevi aşağıda açıklanmıştır:


  • INSERT INTO: Bu anahtar kelime dizisi, bir tabloya yeni bir satır ekleme işlemini başlattığını belirtir.

  • table_name: Verinin ekleneceği hedef tablonun adını temsil eder. Bu, mevcut bir tablonun adı olmalıdır.

  • (column1, column2, ...): Bu parantez içindeki liste, verinin ekleneceği belirli sütunların adlarını içerir. Bu kısım isteğe bağlıdır. Eğer belirtilmezse, VALUES listesindeki değerlerin tablonun tüm sütunlarına, tanımlandıkları sıraya göre atanacağı varsayılır. Sütun adlarını belirtmek, hem okunabilirliği artırır hem de sütun sırasındaki olası değişikliklerden kaynaklanabilecek hataları önler.

  • VALUES: Bu anahtar kelime, eklenecek değerlerin listesinin başlangıcını işaret eder.

  • (value1, value2, ...): Bu parantez içindeki liste, (column1, column2, ...) listesindeki sütunlara veya eğer sütun listesi belirtilmediyse tablonun tüm sütunlarına atanacak değerleri içerir. Her value, karşılık gelen column'un veri tipiyle uyumlu olmalıdır.

  • SELECT column_a, column_b, ... FROM source_table WHERE condition: Bu yapı, başka bir tablodan veri seçerek hedef tabloya eklemek için kullanılır. Bu, birden fazla satırı aynı anda eklemek için oldukça güçlü bir yöntemdir.


Pratik Kullanım Örnekleri


INSERT INTO komutunun farklı senaryolarda nasıl kullanıldığını gösteren pratik örnekler aşağıda sunulmuştur.


Örnek 1: Belirli Sütunlara Veri Ekleme


Aşağıdaki örnek, Musteriler adlı bir tabloya yalnızca Ad, Soyad ve Email sütunlarına veri eklemeyi göstermektedir. Diğer sütunlar varsayılan değerlerini alacak veya NULL olarak ayarlanacaktır (eğer izin veriliyorsa).


INSERT INTO Musteriler (Ad, Soyad, Email)
VALUES ('Ayşe', 'Yılmaz', 'ayse.yilmaz@example.com');

Bu komut, Musteriler tablosuna yeni bir müşteri kaydı ekler. Sadece belirtilen sütunlar için değerler sağlanmıştır.


Örnek 2: Tüm Sütunlara Veri Ekleme (Sütun Adı Belirtmeden)


Eğer tablonun tüm sütunlarına, tanımlandıkları sıraya göre veri ekleniyorsa, sütun adlarını belirtmek zorunlu değildir. Ancak, bu yöntemde değerlerin sırası ve sayısı tablo yapısıyla tam olarak eşleşmelidir.


-- Varsayalım ki Urunler tablosunun sütunları sırasıyla:
-- UrunID (otomatik artan), UrunAdi, Fiyat, StokAdedi, KategoriID
INSERT INTO Urunler
VALUES (DEFAULT, 'Akıllı Telefon', 7500.00, 150, 1);

Bu örnekte, UrunID sütunu otomatik artan bir alan olduğundan DEFAULT anahtar kelimesi kullanılmıştır. Diğer sütunlar için ise doğrudan değerler belirtilmiştir.


Örnek 3: Başka Bir Tablodan Veri Kopyalama


INSERT INTO ... SELECT ifadesi, bir veya daha fazla satırı başka bir tablodan seçip mevcut tabloya eklemek için kullanılır. Bu, toplu veri aktarımı için idealdir.


INSERT INTO ArsivMusteriler (MusteriID, Ad, Soyad, KayitTarihi)
SELECT ID, Isim, Soyisim, KayitTarihi
FROM Musteriler
WHERE KayitTarihi < '2020-01-01';

Yukarıdaki komut, Musteriler tablosundaki 1 Ocak 2020'den önce kaydedilmiş tüm müşterileri seçerek, bu verileri ArsivMusteriler tablosuna aktarır. SELECT sorgusundaki sütunlar ve INSERT INTO ifadesindeki sütunlar veri tipi ve sıra olarak uyumlu olmalıdır.


Önemli Notlar


INSERT INTO komutunu kullanırken dikkat edilmesi gereken bazı önemli noktalar şunlardır:


  • Veri Tipi Uyumluluğu: Eklenecek değerlerin, atandıkları sütunların tanımlanmış veri tipleriyle uyumlu olması esastır. Aksi takdirde, veritabanı bir hata döndürebilir.

  • NULL Değerler: Bir sütunun NULL değer kabul etmesi durumunda, o sütun için açıkça NULL değeri atanabilir veya sütun adı INSERT INTO (column1, ...) listesinde belirtilmezse otomatik olarak NULL atanır (eğer sütunun varsayılan değeri yoksa).

  • Otomatik Artan Alanlar (IDENTITY / AUTO_INCREMENT): Çoğu veritabanı sisteminde, otomatik artan (örneğin, PRIMARY KEY olan ID) sütunlar için genellikle manuel olarak değer belirtmeye gerek yoktur. Bu tür sütunlar için DEFAULT anahtar kelimesini kullanabilir veya basitçe sütun listesinden çıkarabilirsiniz.

  • Sütun Sırası: Sütun adları belirtildiğinde, VALUES listesindeki değerlerin sırası bu adlara uymalıdır. Sütun adları belirtilmediğinde ise, değerlerin sırası tablonun fiziksel sütun sırasına tam olarak uymalıdır.

  • Tırnak İşaretleri: Metinsel (VARCHAR, TEXT) ve tarih/saat (DATE, DATETIME) değerleri tek tırnak (') içine alınmalıdır. Sayısal değerler (INT, DECIMAL, vb.) tırnak içine alınmaz.

  • Kısıtlamalar ve Hata Yönetimi: Tablolara tanımlanmış PRIMARY KEY, UNIQUE, CHECK veya FOREIGN KEY gibi kısıtlamalar, ekleme işlemi sırasında ihlal edilirse veritabanı bir hata döndürecektir. Bu durumlar, uygun hata yönetimi stratejileriyle ele alınmalıdır.

Yayınlanma Tarihi: 2025-10-15 16:00:33
JavaScript Dilinde JS Dates Kullanımı
Önceki Haber

JavaScript Dilinde JS Dates Kullanımı

JavaScript Makaleleri
Sonraki Haber

Python Dilinde Python Booleans Kullanımı

Python Makaleleri
Python Dilinde Python Booleans Kullanımı

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× SQL Dilinde `SELECT DISTINCT` Kullanımı
Bu ilginizi çekebilir

SQL Dilinde `SELECT DISTINCT` Kullanımı

Veritabanı yönetim sistemlerinde, sorgulama işlemleri sırasında sonuç kümesindeki...