Google BigQuery:如何使用SQL创建新列

Google BigQuery:如何使用SQL创建新列,sql,google-bigquery,Sql,Google Bigquery,我想向已经存在的表中添加一列,而不使用遗留SQL 这方面的基本SQL语法是: ALTER TABLE table_name ADD column_name datatype; 我格式化了Google BigQuery的查询: ALTER TABLE `projectID.datasetID.fooTable` ADD (barColumn date); 但语法不正确,出现以下错误: Error: Syntax error: Expected "." or keyword SET but go

我想向已经存在的表中添加一列,而不使用遗留SQL

这方面的基本SQL语法是:

ALTER TABLE table_name
ADD column_name datatype;
我格式化了Google BigQuery的查询:

ALTER TABLE `projectID.datasetID.fooTable`
ADD (barColumn date);
但语法不正确,出现以下错误:

Error: Syntax error: Expected "." or keyword SET but got identifier "ADD" at [1:63]

< P> >如何正确地为谷歌BigQu疑问格式化SQL?< /P> < P> BigQuy不支持<代码> ALTER表< /COD>或其他DDL语句,但您可以考虑。现在,您需要在BigQuery UI中的表中打开,然后使用“添加新字段”按钮添加列,或者如果使用API,您可以使用。

my\u old_u0;表

a、 b,c
1,2,3
2,3,4

创建表如果不存在我的\u数据集。我的\u新建\u表
作为
选择a、b、c、,
“my_string”作为d,当前_timestamp()作为时间戳
从my_dataset.my_old_表
我的新桌子

a、 b、c、d、时间戳
1,2,3,我的字符串,2020-04-22 17:09:42.987987 UTC
2,3,4,我的弦,2020-04-22 17:09:42.987987 UTC

模式:
a:整数
b:整数
c:整数
d:字符串
时间戳:时间戳

我希望一切都清楚:)
有了它,您可以轻松地向现有表中添加新列,并指定数据类型。之后,如有必要,您可以删除旧表。:)

ALTER TABLE ADD COLUMN
的支持于2020-10-14发布

因此,最初提出的声明现在应该只需稍加修改即可生效:

ALTER TABLE`projectd.datasetID.fooTable`
添加列BAR列日期;

我已经预料到了这个答案,但我想检查一下我是否正确。谢谢你,Elliott。关于使用API添加列的说明可以在页面上找到。复制整个表只是为了添加列,但这有点过分。最后,bigquery是一个列存储,因此添加额外的列应该非常容易。但是,由于缺少alter table语句,因此此解决方案是一个很好的解决方案。我建议将其更改为可接受的答案,因为更新的发行说明包含此功能,并且上面的示例确实有效。