Introducere în BigQuery
Matt Forrest
Field CTO
INSERT: Adaugă rânduri noi de date.UPDATE: Modifică valorile existente dintr-un rând.DELETE: Elimină date nedorite dintr-un tabel.MERGE: Instrucțiune care combină INSERT, UPDATE și DELETE într-o singură instrucțiune.CREATE TABLE AS: Creează un tabel nou dintr-un rezultat al unei interogări.WHERE când rulați o instrucțiune UPDATE-- Definiți coloanele în paranteze
INSERT INTO customers (customer_id, name, email)
-- Fiecare valoare reprezintă un rând de inserat
VALUES (1, "John Doe", "[email protected]"),
(2, "Jane Doe", "[email protected]"),
(3, "Alice Smith", "[email protected]");
UPDATE customers
-- Setați o coloană pentru fiecare instrucțiune SET
SET email = "[email protected]"
-- Asigurați-vă că includeți WHERE, altfel toate
-- rândurile vor fi actualizate
WHERE customer_id = 1;
UPDATE împreună cu subinterogări sau joinuriUPDATE customers c
SET c.email = e.email
FROM emails e
WHERE c.customer_id = 1;
DELETE elimină înregistrările permanent și nu poate fi anulatDELETE FROM customers
-- Include WHERE pentru a șterge doar anumite rânduri
WHERE customer_id = 3;
DELETE FROM customers c
JOIN emails e USING (customer_id)
WHERE email = '[email protected]'
INSERT, UPDATE și DELETE într-o singură operație-- Setează tabelul customers ca țintă MERGE customers AS target-- Sursa este setată la new_customers USING new_customers AS source-- Condiție de potrivire ON target.customer_id = source.customer_id-- Dacă adresele de email diferă, actualizați emailul WHEN MATCHED AND target.email != source.email THEN UPDATE SET email = source.email-- Dacă nu există potrivire, inserați înregistrarea 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);
Introducere în BigQuery