Birden Çok Satırla INSERT
Tek bir ifadeyle bir veya daha fazla satır ekleyin ve tablolar arasında veri kopyalamak için INSERT ... SELECT kullanın.
Birden Çok Satırla INSERT, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Tek Satırlı INSERT
En basit biçimde sütunların adları yazılır ve değerler sağlanır:
INSERT INTO users (email, full_name)
VALUES ('alice@example.com', 'Alice Adams');Çok Satırlı INSERT
Tek bir ifadede birçok satır ekleyin. Birçok gidiş gelişten daha hızlıdır:
INSERT INTO users (email, full_name) VALUES
('alice@example.com', 'Alice Adams'),
('bob@example.com', 'Bob Brown'),
('carol@example.com', 'Carol Chen');Çok Satırlı Neden Daha Hızlı
Veritabanına daha az gidiş-dönüş, daha az ayrıştırma/planlama döngüsü ve tek bir WAL boşaltması. Yüzlerce satırın toplu INSERT işlemlerinde, çok satırlı VALUES tek tek eklemeye göre 5–10 kat daha hızlıdır.
Varsayılan Değerler
Bir sütunu atlayarak DEFAULT değerini (veya NULL'ı) kullanabilirsiniz:
INSERT INTO orders (user_id, total)
VALUES (1, 99.50);
-- id, created_at, status filled by DEFAULTsAçıkça DEFAULT Kullanma
Ya da DEFAULT anahtar sözcüğünü kullanabilirsiniz:
INSERT INTO orders (id, user_id, total, status)
VALUES (DEFAULT, 1, 99.50, DEFAULT);RETURNING
İkinci bir sorgu çalıştırmadan eklenen satırların sütunlarını geri alın (PostgreSQL):
INSERT INTO users (email, full_name)
VALUES ('alice@example.com', 'Alice Adams')
RETURNING id, created_at;INSERT … SELECT
Satırları başka bir tablodan kopyalayın veya dönüştürün:
INSERT INTO archive_orders (id, user_id, total)
SELECT id, user_id, total
FROM orders
WHERE created_at < NOW() - INTERVAL '5 years';COPY ile Toplu Yükleme
On binlerce veya daha fazla satır için açık ara en hızlı yöntem olan COPY komutunu kullanın:
COPY users (email, full_name) FROM '/tmp/users.csv' (FORMAT csv, HEADER true);
-- Or from STDIN in a client:
COPY users (email, full_name) FROM STDIN;
alice@example.com\tAlice
bob@example.com\tBob
\.Gerekmedikçe Büyük İşlemlerde INSERT Yapmaktan Kaçının
Bir işlem = tek bir atomik bloktur. Bir milyon satırlık içe aktarma işlemi yarıda başarısız olursa her şey geri alınır. Bazen bunu istersiniz; bazen de satırları 10 binlik gruplar hâlinde işlersiniz.
INSERT Performansı İçin İpuçları
Büyük INSERT işlemleri için:
- İkincil dizinleri kaldırın, ekleme işlemini yapın ve dizinleri yeniden oluşturun
- Güvenliyse tetikleyicileri / FK denetimlerini devre dışı bırakın
- Mümkün olduğunda COPY kullanın
- Dizinleri yeniden oluştururken
maintenance_work_memdeğerini ayarlayın
Çakışma Yönetimine Ön Bakış
"Yeniyse ekle, değilse güncelle" işlemi için INSERT ... ON CONFLICT kullanılır; bu konu bir sonraki derste ele alınacaktır.
Özet
INSERT kullanımı basittir; çok satırlı VALUES ve INSERT … SELECT günlük kullanım durumlarını kapsar. RETURNING ek gidiş-dönüşleri önler. Toplu yüklemelerde COPY kullanın.
Hızlı Kontrol
Bir CSV dosyasındaki 100.000 satırı PostgreSQL'e yüklemenin en hızlı yolu hangisidir?
Sıkça Sorulan Sorular
“Birden Çok Satırla INSERT” dersi ücretsiz mi?
Evet — “Birden Çok Satırla INSERT” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Birden Çok Satırla INSERT” dersinde ne öğreneceğim?
Tek bir ifadeyle bir veya daha fazla satır ekleyin ve tablolar arasında veri kopyalamak için INSERT ... SELECT kullanın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Birden Çok Satırla INSERT” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Birden Çok Satırla INSERT
- UPSERT: ON CONFLICT DO UPDATE (PostgreSQL)
- FROM ve JOIN Tarzı Güncellemelerle UPDATE
- USING ile DELETE ve Güvenli Kalıplar