在这篇文章中,我们将学习一些关键的大查询DML语句。数据在任何组织中都扮演着不可或缺的角色。随着现代组织的数据驱动性质,几乎所有的企业和他们的技术决策都是基于现有的数据。假设我们有一个分布在云服务提供商不同地区的多个服务器上的应用,我们需要将该应用数据存储在一个集中的位置。然而,传统的数据库不适合处理极其庞大的数据集,而且缺乏有助于数据分析的功能。在这种情况下,我们将需要一个适当的数据仓库解决方案,如Google BigQuery。
什么是谷歌BigQuery?
BigQuery是一个企业级的、完全管理的数据仓库解决方案,是谷歌云平台的一部分。它旨在存储和查询大规模的数据集,同时使用户能够通过基于标准SQL方言的BigQuery数据操作语言(DML)来管理数据。
BigQuery还提供了一套强大的工具来管理数据集,从其云控制台到BigQuery REST API,支持多种编程语言,如Java、Python、.NET等。此外,BigQuery为机器学习和人工智能集成提供内置支持,包括BigQueryML、AI Platform和TensorFlow。
大查询架构
创建一个表。
由于BigQuery支持标准的SQL方言,我们可以使用具有适当数据类型的 "CREATE TABLE "命令来创建所需的表。
CREATE TABLE IF NOT EXISTS `project.Test_data_table` (
`user_id` INT64 NOT NULL,
`username` STRING NOT NULL,
`user_type` STRING,
`session_start` DATETIME NOT NULL,
`session_end` DATETIME,
`country` STRING NOT NULL
);
现在我们知道如何创建一个表,让我们深入了解一些DML语句。
数据操作语言(DML)
BigQuery DML使用户能够使用标准SQL方言对BigQuery表进行各种操作,如插入、更新和删除。这个选项提供了最大的灵活性,因为它允许我们使用DML创建查询以满足任何要求。
插入
你可以使用以下语句向现有的表插入新数据。
INSERT INTO
`project.Test_data_table` (user_id,
username,
user_type,
session_start,
session_end,
country)
VALUES
(1560,'barry','admin', '2021-05-05 10:46:01', '2021-05-05 11:16:51', 'United Kingdom')
你也可以像这样添加多个值。
INSERT `project.Test_data_table` (user_id, username, user_type, session_start,session_end, country)
SELECT *
FROM UNNEST([
(2054,'jake', 'user', '2021-05-06 05:05:41','2021-05-06 10:10:15', 'United States'),
(8755, 'harry', 'user', '2021-05-04 01:10:01', '2021-05-04 03:45:15', 'Japan'),
]);
DELETE
DELETE语句允许你从表中删除行。当使用DELETE语句时,你必须使用WHERE子句和一个条件。
DELETE FROM `project.Test_data_table` WHERE country = 'Japan';
UPDATE
UPDATE语句允许你修改表中的现有记录。与DELETE 语句类似,每个UPDATE 语句必须包括WHERE子句和一个条件。
UPDATE `project.Test_data_table`
SET user_type = 'admin' WHERE LOWER(username) = 'jake';
合并(MERGE)
MERGE语句是一个强大的结构和优化模式,它将表上的INSERT,UPDATE 和DELETE 操作合并为一个基于从另一个表匹配的值的 "上移 "操作。
合并表的条件
总结
所以我们已经涵盖了大查询DML语句的基础知识。希望这篇文章对你有用,并激励你自己去尝试大查询。大查询是数据仓库解决方案的一个综合工具,学好它很有好处。

