【发布时间】:2018-04-02 03:10:17
【问题描述】:
Google Spanner 是否支持 SQL-2011? 我没有找到 SQL 命令的任何示例或文档:删除、插入和更新。
【问题讨论】:
Google Spanner 是否支持 SQL-2011? 我没有找到 SQL 命令的任何示例或文档:删除、插入和更新。
【问题讨论】:
它只支持一个子集,例如 DDL 创建表和查询。添加数据是通过语言 sdk(使用 C#、Go、Java、Node.js、PHP、Python 或 Ruby - 请参阅 Getting Started with Spanner 文档底部的每个链接)、控制台或REST API。
【讨论】:
目前,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语句。
【讨论】:
在 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 和扩展)以及自动同步复制以实现高可用性。”
【讨论】: