SQL INSERT INTO Komutu ile Veri Ekleme Rehberi
Meta Açıklaması: SQL INSERT INTO komutuyla tabloya yeni kayıt eklemeyi, SELECT sorgusuyla veri kopyalamayı ve otomatik değer atamayı öğrenin.
MySQL örnekleriyle pratik uygulama yapabilirsiniz.
🎯 Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde SQL’de veritabanına veri eklemenin üç farklı yöntemini öğreneceksiniz:
VALUESile manuel kayıt eklemeSELECTsorgusuyla başka tablodan veri aktarmaAUTO_INCREMENTveDEFAULTile otomatik değer atama
Ayrıca, sütun sırası, NULL davranışı ve performans açısından toplu eklemenin avantajlarını da göreceksiniz.
🧠 Teknik Özet
- Ana Konu: SQL INSERT INTO komutu
- Amaç: Tablolara yeni kayıt eklemek
- Kapsam:
- Tek satır veya çoklu satır ekleme
- Başka tablodan veri kopyalama
- Otomatik değerli sütunlarla veri ekleme
- NULL ve DEFAULT davranışı
- Performans için çoklu ekleme stratejileri
🧱 1. Tabloları Hazırlama
Yeni bir veritabanı ve tablo oluşturun:
CREATE DATABASE insertDB;
USE insertDB;
CREATE TABLE fabrikaCalisanlari (
ad VARCHAR(30),
pozisyon VARCHAR(30),
departman VARCHAR(20),
saatlikUcret DECIMAL(5,2),
iseBaslamaTarihi DATE
);
💬 fabrikaCalisanlari tablosu, çalışan bilgilerini tutar.
🧩 2. Manuel Veri Ekleme (VALUES Kullanımı)
Tek Satır Ekleme
INSERT INTO fabrikaCalisanlari
(ad, pozisyon, departman, saatlikUcret, iseBaslamaTarihi)
VALUES
('Ayla', 'Kalıp Ustası', 'Yönetim', 35.75, '2019-06-15');
💬 Ayla adlı çalışan tabloya eklenir.
Sütun Sırası Farklı Olsa Bile
INSERT INTO fabrikaCalisanlari
(departman, saatlikUcret, iseBaslamaTarihi, ad, pozisyon)
VALUES
('Üretim', 22.10, '2020-03-01', 'Barış', 'Montajcı');
💬 Sütun sırası farklı olabilir ama değer sırası uyumlu olmalıdır.
Eksik Sütunlarla Ekleme (NULL Davranışı)
INSERT INTO fabrikaCalisanlari
(ad, pozisyon, saatlikUcret)
VALUES
('Can', 'Kalite Kontrol', 28.00);
💬 Departman ve tarih alanları otomatik olarak NULL olur. Not: Eğer NOT NULL kısıtlaması varsa hata verir.
Toplu Veri Ekleme
INSERT INTO fabrikaCalisanlari
VALUES
('Deniz', 'Kaynakçı', 'Üretim', 30.50, '2019-01-20'),
('Ece', 'Test Analisti', 'Kalite', 26.00, '2021-08-05');
💬 Aynı anda birden fazla kayıt ekler — bu, performans açısından çok daha verimlidir.
📋 3. SELECT ile Veri Kopyalama
Bir tablodaki kayıtları başka bir tabloya taşımak veya yedeklemek için INSERT INTO ... SELECT kullanılır.
Yeni Tablo Oluşturma
CREATE TABLE depoCalisanlari (
ad VARCHAR(30),
saatlikUcret DECIMAL(5,2),
iseBaslamaTarihi DATE
);
Veri Kopyalama
INSERT INTO depoCalisanlari
SELECT ad, saatlikUcret, iseBaslamaTarihi
FROM fabrikaCalisanlari
WHERE departman NOT LIKE 'Ü%';
💬 Departmanı “Ü” ile başlamayan çalışanlar depoCalisanlari tablosuna eklenir. Not: SELECT kullanımı, büyük ölçekli veri geçişlerinde (migration) idealdir.
⚙️ 4. Otomatik Veri Ekleme (AUTO_INCREMENT & DEFAULT)
Bazı sütunlar, veriyi otomatik olarak alabilir. AUTO_INCREMENT her kayıtta artan bir ID üretir, DEFAULT ise belirtilmeyen sütunlara varsayılan değer atar.
Tablo Tanımı
CREATE TABLE stajyerler (
stajyerID INT AUTO_INCREMENT PRIMARY KEY,
departman VARCHAR(20) DEFAULT 'Üretim',
ad VARCHAR(30)
);
Veri Ekleme
INSERT INTO stajyerler (ad)
VALUES ('Emre'), ('Fatoş'), ('Gökhan');
💬 ID otomatik artar, departman değeri otomatik “Üretim” olur.
Varsayılan Değeri Geçersiz Kılmak
INSERT INTO stajyerler (ad, departman)
VALUES
('Hakan', 'Yönetim'),
('İrem', DEFAULT);
💬 İrem için DEFAULT değeri olan “Üretim” atanır.
❓ Sıkça Sorulan Sorular (SSS)
- VALUES yerine SELECT kullanmanın avantajı nedir?
SELECT ile binlerce kaydı tek seferde taşıyabilir, veri aktarımını hızlandırabilirsiniz.
- AUTO_INCREMENT ne işe yarar?
Her kayıt için otomatik benzersiz ID üretir, manuel giriş gerekmez.
- DEFAULT değeri atlanan sütunlara ne olur?
Varsayılan değer atanır; eğer yoksa ve NOT NULL değilse, NULL olur.
- Sütun adlarını tablo adıyla belirtmek neden önemlidir?
JOIN içeren sorgularda karışıklığı önler (örnek: fabrikaCalisanlari.ad).
- Çoklu kayıt eklemek performansı nasıl etkiler?
Tek sorguda birden fazla kayıt eklemek, sunucu ile iletişimi azaltır — çok daha hızlıdır.
☁️ Sonuç ve Öneri
Bu rehberde SQL INSERT INTO komutunun manuel, SELECT tabanlı ve otomatik ekleme yöntemlerini öğrendiniz. Artık hem tekli hem toplu veri ekleme işlemlerini güvenle uygulayabilirsiniz.
💡 Tüm örnekleri Rabisu Bulut üzerindeki MySQL ortamında hemen test edin. Geliştirmelerinizi ölçeklenebilir bir bulut sunucuda güvenle yönetin. 🚀