如果使用命令行或 sql 在大查询中不存在表,如何创建表

Posted

技术标签:

【中文标题】如果使用命令行或 sql 在大查询中不存在表,如何创建表【英文标题】:how to create table if not exist in big query using command line or sql 【发布时间】:2018-07-13 12:25:50 【问题描述】:

如果大查询中不存在表,请注意输入或语法如何创建表

尝试使用 Mk 命令创建一个空表,但如果表不存在则找不到创建

【问题讨论】:

【参考方案1】:

您可以为此使用 DDL 的 statamenet CREATE TABLE IF NOT EXISTS。例如

#standardSQL
CREATE TABLE IF NOT EXISTS mydataset.newtable (x INT64, y STRUCT<a ARRAY<STRING>, b BOOL>)
OPTIONS(
  expiration_timestamp=TIMESTAMP "2020-01-01 00:00:00 UTC",
  description="a table that expires in 2020",
  labels=[("org_unit", "development")]
)   

或通过命令行

bq query --use_legacy_sql=false '
CREATE TABLE IF NOT EXISTS mydataset.newtable (x INT64, y STRUCT<a ARRAY<STRING>, b BOOL>)
 OPTIONS(
   expiration_timestamp=TIMESTAMP "2020-01-01 00:00:00 UTC",
   description="a table that expires in 2020",
   labels=[("org_unit", "development")]
 )'

【讨论】:

以上是关于如果使用命令行或 sql 在大查询中不存在表,如何创建表的主要内容,如果未能解决你的问题,请参考以下文章

如何用sql语句查询:在一个表中存在而另一个表中不存在的第一条记录?

SQL查询从某些表中不存在的子选择返回值?

SQL 查询 (Pro*C) 如何能够找到 db 表中不存在的一组值

如何使用 SQL Server 返回不在表中的 id

hive的基本语法

如何确定sql中前n个月存在的行或记录?