BigQuery'ye Giriş
Matt Forrest
Field CTO
INSERT: Yeni satırlar ekler.UPDATE: Mevcut satırdaki değerleri değiştirir.DELETE: Tablolardan istenmeyen veriyi siler.MERGE: INSERT, UPDATE ve DELETE ifadelerini tek bir ifadede birleştirir.CREATE TABLE AS: Bir sorgu sonucundan yeni tablo oluşturur.UPDATE çalıştırırken mutlaka WHERE koşulu kullanın-- Parantez içinde sütunları tanımlayın
INSERT INTO customers (customer_id, name, email)
-- Her değer eklenecek bir satırdır
VALUES (1, "John Doe", "[email protected]"),
(2, "Jane Doe", "[email protected]"),
(3, "Alice Smith", "[email protected]");
UPDATE customers
-- Her SET ifadesinde bir sütun ayarlayın
SET email = "[email protected]"
-- WHERE eklemezseniz tüm satırlar
-- güncellenir
WHERE customer_id = 1;
UPDATEUPDATE customers c
SET c.email = e.email
FROM emails e
WHERE c.customer_id = 1;
DELETE kayıtları kalıcı olarak siler ve geri alınamazDELETE FROM customers
-- Yalnızca belirli satırları silmek için WHERE ekleyin
WHERE customer_id = 3;
DELETE FROM customers c
JOIN emails e USING (customer_id)
WHERE email = '[email protected]'
INSERT, UPDATE ve DELETE işlemlerini tek bir işlemde birleştirir-- Hedef tablo customers olarak ayarlanır MERGE customers AS target-- Kaynak tablo new_customers olarak ayarlanır USING new_customers AS source-- Eşleştirme koşulu ON target.customer_id = source.customer_id-- E-postalar uyuşmuyorsa e-postayı güncelle WHEN MATCHED AND target.email != source.email THEN UPDATE SET email = source.email-- Eşleşme yoksa kaydı ekle WHEN NOT MATCHED THEN INSERT (customer_id, name, email) VALUES (source.customer_id, source.name, source.email);
CREATE TABLE active_customers AS
SELECT customer_id, name, email
FROM customers
WHERE last_active_date > DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY);
BigQuery'ye Giriş