BigQuery是否支持UPDATE,DELETE和INSERT(SQL DML)语句?

时间:2016-08-12 16:38:30

标签: google-bigquery

BigQuery支持SELECT语句,但它是否支持INSERT,UPDATE和DELETE等DML语句?

2 个答案:

答案 0 :(得分:28)

是的,BigQuery现在支持带有标准SQL的SQL DML(取消选中“显示选项”下的“使用旧版SQL”)。旧版SQL不支持SQL DML。

官方文件可在此处获得: https://cloud.google.com/bigquery/sql-reference/data-manipulation-language

注意: 只要语句不影响流缓冲区中的行,就可以通过带有流缓冲区的表支持UPDATE,DELETE和MERGE DML语句。

答案 1 :(得分:1)

我已经使用BigQuery API测试了 DELETE 语句,它对我来说很好用。 这是 GCP作曲器(气流)

中的源代码
from airflow.contrib.operators.bigquery_operator import BigQueryOperator

bq_delete_task = BigQueryOperator(
    dag = dag,
    task_id = 'remove_from_table_bq',
    destination_dataset_table = False,
    destination_table = 'table_name',
    bql = "DELETE FROM " + BQ_DATASET_NAME + "." + "table_name" + " WHERE date = '2018-06-06'",
    use_legacy_sql = False
)