云服务器内容精选

  • 符号约定 本节把需要原样输入的单词用大写表示,需要原样输入的字符用单引号括起来。 '[x]'表示语句'x'可以出现一次或不出现。 '(x)'表示语句'x'是个整体。'(x, ...)'表示语句'x'可以出现一次或多次,多次之间用逗号连接。 '|'表示所有可能的替代情况。 'expression'表示任意表达式。特殊地,'bool_expression'表示任意布尔表达式。 'identifier'表示一个合法的标识符。由字符'0-9,a-z,A-Z,_'组成,且不能以数字开头。 'column_name'表示一个合法的字段名。它可以是一个'identifier'或多个嵌套,如'A.id'。 'table_name'表示一个合法的表名。ResourceQL语法规定'table_name'必须为'resources'。 用双引号括起来的单位会被认为是一个整体。例如,若需表示带有特殊字符的列名,需在其前后加双引号。
  • 模糊查询 string LIKE pattern [ESCAPE escape_characters] 'LIKE'用来判断字符串是否符合某种pattern。如果pattern里想表达'%'或者'_'这两种字符的字面量,可以在'ESCAPE'后指定转义符(如'#'),在pattern里写成'#%'和'#_'即可。 通配符'%'表示匹配0或多个字符。 通配符'_'表示正好匹配一个字符。 对象存储桶的模糊查询,可以写成如下形式: SELECT name, id FROM resources WHERE provider = 'obs' AND type = 'buckets' AND name LIKE '%figure%' 或 SELECT name, id FROM resources WHERE provider = 'obs' AND type = 'buckets' AND name LIKE '%figure#_%' ESCAPE '#'
  • 条件函数 CASE关键字可以根据情况选择不同的返回值。它有以下两种用法。 计算给定表达式expression的值,根据不同的值返回对应的结果。 依次计算每一个bool_expression的值,找到第一条符合要求的expression并返回对应的结果。 CASE expression WHEN value1 THEN result1 [WHEN value2 THEN result2] [...] [ELSE result]ENDCASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 [...] [ELSE result]END IF关键字的用法有以下两种。 'IF(bool_expression, value)':如果布尔表达式值为真就返回'value',否则返回NULL。 'IF(bool_expression, value1, value2)':如果布尔表达式值为真就返回'value1',否则返回 'value2'。
  • 查询的基本语法 [WITH (with_item, ...)]SELECT [DISTINCT | ALL] (select_item, ...)[FROM (from_item, ...)][WHERE bool_expression][GROUP BY [DISTINCT | ALL] (expression, ...)][HAVING booleanExpression][ORDER BY (expression [ASC | DESC] [NULLS (FIRST | LAST)], ...)][LIMIT number]