暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

梧桐数据库(WuTongDB):DML之词法结构

原创 鲁鲁 2024-07-04
77


SQL输入由一个命令序列组成。一个命令由一个记号序列构成,并由一个分号(“;”)终结。输入流的末端也标志着一个命令的结束。具体哪些记号是合法的与具体命令的语法有关。

一个记号可以是一个关键词、一个标识符、一个带引号的标识符构成,一个literal(或常量),或一个特殊字符符号。记号通常以空白(空格、制表符、新行)来分隔,但在无歧义时并不强制要求如此(唯一的例子是一个特殊字符紧挨着其他记号)。

例如,下面是一个(语法上)合法的SQL输入:

SELECT * FROM MY_TABLE;
UPDATE MY_TABLE SET A = 5;
INSERT INTO MY_TABLE VALUES (3, 'hi there');

这里是三条命令的序列,每条一行(尽管并不要求这么做:多条命令可以在一行里, 单条命令也可以合理地分成多行)。

如果考虑哪些记号标识命令,哪些参数是操作数或参数, SQL的语法并不是十分一致的。通常前几个记号是命令名,因此在上个例子中我们通常说一个“SELECT”,一个”UPDATE”,和一个”INSERT”命令是命令名。然而,UPDATE操作总是要求在特定位置出现一个SET记号,而且INSERT命令则需要一个VALUES记号来完成。

备注

ROW/ORC/Hudi/MAGMA格式的表支持UPDATE操作,WuTongDB暂时不支持分布键和主键的UPDATE操作;详情参阅 更新数据 。

最后修改时间:2024-07-28 13:06:35
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论