【问题标题】:Does Google Spanner support these SQL Commands: Delete, Insert, Update?Google Spanner 是否支持以下 SQL 命令:删除、插入、更新?
【发布时间】:2018-04-02 03:10:17
【问题描述】:

Google Spanner 是否支持 SQL-2011? 我没有找到 SQL 命令的任何示例或文档:删除、插入和更新。

【问题讨论】:

    标签: google-cloud-platform


    【解决方案1】:

    它只支持一个子集,例如 DDL 创建表和查询。添加数据是通过语言 sdk(使用 C#、Go、Java、Node.js、PHP、Python 或 Ruby - 请参阅 Getting Started with Spanner 文档底部的每个链接)、控制台或REST API

    【讨论】:

      【解决方案2】:

      目前,Google Cloud Spanner 不支持 DML(数据操作语言)。

      我找不到权威来源。但是,除了个人知识之外,我还引用了 quizlet 博客中的以下引述:

      https://quizlet.com/blog/quizlet-cloud-spanner

      但是,Cloud Spanner 不支持数据操作语言 (DML) 语句。 DML 包括 SQL 查询,如 INSERT 和 UPDATE。相反,Spanner 的接口定义包括 RPC,用于根据主键改变行。

      我也有JAVA jdbc驱动不支持的事实:

      https://cloud.google.com/spanner/docs/partners/drivers

      我可以使用这些驱动程序发出数据操作语言 (DML) 和数据定义语言 (DDL) 语句吗? 目前驱动不支持DML或DDL语句。

      【讨论】:

        【解决方案3】:

        在 SIGMOD 2017 上发表的一篇 Google Spanner 论文指出:

        "Spanner 查询处理器实现了一种 SQL 方言, 称为标准 SQL,由多个查询子系统共享 在 Google 中(例如 Dremel/BigQuery OLAP 系统2 )。标准 SQL 基于标准 ANSI SQL,充分利用标准特性 如 ARRAY 和行类型(称为 STRUCT)支持嵌套 数据作为一等公民”

        我认为上面的引用是正确的。

        以下摘录的文档是 Google 应删除的虚假声明:

        如果您不支持、更新、插入和删除 SQL,则您不符合 ANSI 1992 SQL。 Ansi 2011 具有许多功能,包括查询数据库、“AS OF”特定时间戳。

        我确信 Spanner 可以成为符合 ANSI SQL 2011 的一些偏差,但现在它不符合 ANSI 2011。

        https://cloud.google.com/spanner/docs/

        “Cloud Spanner 是一项完全托管的任务关键型关系数据库服务,可在全球范围内提供事务一致性、架构、SQL(ANSI 2011 和扩展)以及自动同步复制以实现高可用性。”

        【讨论】:

        猜你喜欢
        • 2017-09-02
        • 2017-07-05
        • 2017-10-24
        • 2021-12-03
        • 1970-01-01
        • 2017-07-28
        • 2017-07-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多