Modül dersleri (1/4)
Veri ekleme: INSERT
Şu ana kadar verileri okudunuz. Biraz yazmanın zamanı geldi. INSERT:
Tabloya yeni satırlar ekleyen komut.
Temel sözdizimi
INSERT INTO tabella (col1, col2, …)
VALUES (val1, val2, …);Veri kümemizdeki örnek:
INSERT INTO customers (first_name, last_name, email, city, country, signed_up_on)
VALUES ('Marco', 'Bianchi', 'marco.bianchi@example.com', 'Verona', 'Italia', '2025-07-15');Sütunları adlandırmak önerilen uygulamadır: sorguyu yapar
Gelecekteki şema değişikliklerine karşı dayanıklı (örneğin yeni bir isteğe bağlı phone sütunu)
hiçbir şeyi bozmaz) ve kendi kendini belgeleme.
Çok sıralı INSERT
Tek bir ifade, birden çok satır — N ayrı INSERTs'den çok daha hızlı:
INSERT INTO categories (name, parent_id) VALUES
('Gaming', 1),
('Smart Home', 1),
('Cucina vegana', 8);GERİ DÖNÜŞ: az önce eklediğiniz değerleri okuma
PostgreSQL'in bir özelliği: RETURNING aşağıdaki satırları döndürür:
yeni yaratıldılar. Otomatik olarak oluşturulan id'yi almak için son derece kullanışlıdır:
INSERT INTO categories (name, parent_id)
VALUES ('Gaming', 1)
RETURNING id, name;Çıktı, id (SERIAL tarafından atanan) içeren tek satırlı bir tablodur ve
name.
Bir sütun eksikse ne olur?
INSERT'de bir sütunu atlarsanız:
- eğer
NOT NULLDEFAULT olmadan → hata ise; - eğer bir
DEFAULTvarsa (kimlik içinSERIALdahil) → kullanılan; NULLkabul ederse →NULLolur.
-- Va bene: id è SERIAL (auto), country ha NOT NULL ma forniamo tutti i campi
INSERT INTO customers (first_name, last_name, email, city, country, signed_up_on)
VALUES ('Olivia', 'Marini', 'olivia.marini@example.com', 'Bari', 'Italia', '2025-07-20');
-- Errore: first_name è NOT NULL e non è fornito
INSERT INTO customers (last_name, email, city, country, signed_up_on)
VALUES ('Marini', 'olivia.marini@example.com', 'Bari', 'Italia', '2025-07-20');Sıra sende
Müşteriler tablosuna, adı 'Marco', soyadı 'Bianchi', e-postası 'marco.bianchi@example.com', şehri 'Verona', ülkesi 'Italia' ve Signed_up_on '2025-07-15' olan yeni bir müşteri ekleyin. Tüm sütunları açıkça adlandırın.
İpucu göster
VALUES içindeki değerlerin sırası, adlandırdığınız sütunların sırası ile eşleşmelidir.
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
'Elettronica'nın alt öğesi olarak yeni bir 'Oyun' kategorisi ekleyin (id = 1). Yeni oluşturulan kategorinin kimliğini ve adını döndürmek için RETURNING yan tümcesini kullanın.
İpucu göster
RETURNING, tıpkı SELECT gibi bir sütun listesini (veya '*') kabul eder.
3 denemeden sonra çözüm mevcut