Giới thiệu về BigQuery
Matt Forrest
Field CTO
INSERT: Thêm hàng dữ liệu mới.UPDATE: Sửa giá trị hiện có trong một hàng.DELETE: Xóa dữ liệu không cần thiết khỏi bảng.MERGE: Kết hợp INSERT, UPDATE, và DELETE trong một câu lệnh.CREATE TABLE AS: Tạo bảng mới từ kết quả truy vấn.WHERE khi chạy UPDATE-- Xác định cột trong ngoặc đơn
INSERT INTO customers (customer_id, name, email)
-- Mỗi bộ giá trị là một hàng sẽ chèn
VALUES (1, "John Doe", "[email protected]"),
(2, "Jane Doe", "[email protected]"),
(3, "Alice Smith", "[email protected]");
UPDATE customers
-- Mỗi SET đặt một cột
SET email = "[email protected]"
-- Luôn có WHERE, nếu không
-- mọi hàng sẽ bị cập nhật
WHERE customer_id = 1;
UPDATE cùng truy vấn con hoặc joinUPDATE customers c
SET c.email = e.email
FROM emails e
WHERE c.customer_id = 1;
DELETE xóa bản ghi vĩnh viễn và không thể hoàn tácDELETE FROM customers
-- Thêm WHERE để chỉ xóa các hàng cụ thể
WHERE customer_id = 3;
DELETE FROM customers c
JOIN emails e USING (customer_id)
WHERE email = '[email protected]'
INSERT, UPDATE, và DELETE trong một thao tác-- Đặt bảng customers làm đích MERGE customers AS target-- Nguồn là new_customers USING new_customers AS source-- Điều kiện khớp ON target.customer_id = source.customer_id-- Nếu email không khớp, cập nhật email WHEN MATCHED AND target.email != source.email THEN UPDATE SET email = source.email-- Nếu không khớp, chèn bản ghi 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);
Giới thiệu về BigQuery