云服务器内容精选

  • 函数和操作符 操作符可以对一个或多个操作数进行处理,位置上可能处于操作数之前、之后,或两个操作数中间。完成处理之后,返回处理结果。 函数是对一些业务逻辑的封装,以完成特定的功能。函数可以有参数,也可以没有参数。函数是有返回类型的,执行完成后,会返回执行结果。 对于系统函数,用户可以进行修改,但是修改之后系统函数的语义可能会发生改变,从而导致系统控制紊乱。正常情况下不允许用户手工修改系统函数。 当GUC参数behavior_compat_options含有'enable_funcname_with_argsname'选项时,投影别名显示完整函数。 逻辑操作符 比较操作符 字符处理函数和操作符 二进制字符串函数和操作符 位串函数和操作符 模式匹配操作符 数字操作函数和操作符 时间和日期处理函数和操作符 类型转换函数 几何函数和操作符 网络地址函数和操作符 文本检索函数和操作符 JSON/JSONB函数和操作符 HLL函数和操作符 SEQUENCE函数 数组函数和操作符 范围函数和操作符 聚集函数 窗口函数 安全函数 密态函数和操作符 返回集合的函数 条件表达式函数 系统信息函数 系统管理函数 统计信息函数 触发器函数 HashFunc函数 提示信息函数 故障注入系统函数 重分布函数 分布列推荐函数 其他系统函数 内部函数 AI特性函数 动态数据脱敏函数 hotkey特性函数 Global SysCache特性函数 数据损坏检测修复函数 XML类型函数 XMLTYPE类型函数 废弃函数 父主题: SQL参考
  • 函数和操作符 操作符可以对一个或多个操作数进行处理,位置上可能处于操作数之前、之后,或两个操作数中间。完成处理之后,返回处理结果。 函数是对一些业务逻辑的封装,以完成特定的功能。函数可以有参数,也可以没有参数。函数是有返回类型的,执行完成后,会返回执行结果。 对于系统函数,用户可以进行修改,但是修改之后系统函数的语义可能会发生改变,从而导致系统控制紊乱。正常情况下不允许用户手工修改系统函数。 当GUC参数behavior_compat_options含有'enable_funcname_with_argsname'选项时,投影别名显示完整函数。 当GUC参数enable_volatile_match_index设置为ON,且DBCOMPATIBILITY 设置为A时,volatile类型函数可以匹配索引。volatile函数在部分索引下,不确保可以命中索引;在函数执行过程中含有隐式转换时,不确保命中索引。在本就不可以命中索引的场景中,开启此选项,volatile函数依然不能够命中索引。 当DBCOMPATIBILITY 设置为A,sql语句中immutable存储过程执行中传入常量或者可以被转换为常量的表达式时(例如immutable函数,但是stable、volatile函数不可以),非每行执行一次。immutable存储过程在入参为行表达式时仍然每行执行一次。immutable存储过程在包含union、union all、order by的sql语句中,执行次数减少但不会只执行一次。 逻辑操作符 比较操作符 字符处理函数和操作符 二进制字符串函数和操作符 位串函数和操作符 模式匹配操作符 数字操作函数和操作符 时间和日期处理函数和操作符 类型转换函数 几何函数和操作符 网络地址函数和操作符 文本检索函数和操作符 JSON/JSONB函数和操作符 HLL函数和操作符 SEQUENCE函数 数组函数和操作符 范围函数和操作符 聚集函数 窗口函数 安全函数 密态函数和操作符 返回集合的函数 条件表达式函数 系统信息函数 系统管理函数 统计信息函数 触发器函数 HashFunc函数 提示信息函数 全局临时表函数 故障注入系统函数 AI特性函数 动态数据脱敏函数 层次递归查询函数 其他系统函数 内部函数 Global SysCache特性函数 数据损坏检测修复函数 XML类型函数 XMLTYPE类型函数 Global Plsql Cache特性函数 废弃函数 父主题: SQL参考
  • 常量与宏 GaussDB支持的常量和宏请参见表1。 表1 常量和宏 参数 描述 示例 CURRENT_CATALOG 当前数据库 1 2 3 4 5 testdb=# SELECT CURRENT_CATALOG; current_database ------------------ testdb (1 row) CURRENT_ROLE 当前用户 1 2 3 4 5 gaussdb=# SELECT CURRENT_ROLE; current_user -------------- omm (1 row) CURRENT_SCHEMA 当前数据库模式 1 2 3 4 5 gaussdb=# SELECT CURRENT_SCHEMA; current_schema ---------------- public (1 row) CURRENT_USER 当前用户 1 2 3 4 5 gaussdb=# SELECT CURRENT_USER; current_user -------------- omm (1 row) LOCALTIMESTAMP 当前会话时间(无时区) 1 2 3 4 5 gaussdb=# SELECT LOCALTIMESTAMP; timestamp ---------------------------- 2015-10-10 15:37:30.968538 (1 row) NULL 空值 - SESSION_USER 当前系统用户 1 2 3 4 5 gaussdb=# SELECT SESSION_USER; session_user -------------- omm (1 row) SYSDATE 当前系统日期 1 2 3 4 5 gaussdb=# SELECT SYSDATE; sysdate --------------------- 2015-10-10 15:48:53 (1 row) USER 当前用户,此用户为CURRENT_USER的别名。 1 2 3 4 5 gaussdb=# SELECT USER; current_user -------------- omm (1 row) 父主题: SQL参考
  • 数据类型 数据类型是数据的一个基本属性,用于区分不同类型的数据。不同的数据类型所占的存储空间不同,能够进行的操作也不相同。数据库中的数据存储在数据表中。数据表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。 GaussDB支持某些数据类型间的隐式转换,具体转换关系请参见PG_CAST。 数值类型 货币类型 布尔类型 字符类型 二进制类型 日期/时间类型 几何类型 网络地址类型 位串类型 UUID类型 JSON/JSONB类型 HLL数据类型 范围类型 对象标识符类型 伪类型 XML类型 XMLTYPE类型 aclitem类型 数组类型 父主题: SQL参考
  • 定义分区表 分区表是一种逻辑表,数据是由普通表存储的,主要用于提升查询性能。所涉及的SQL语句,请参考表7。 表7 分区表定义相关SQL 功能 相关SQL 创建分区表 CREATE TABLE PARTITION 创建分区 ALTER TABLE PARTITION 修改分区表属性 ALTER TABLE PARTITION 删除分区 ALTER TABLE PARTITION 删除分区表 DROP TABLE
  • 定义DATABASE LINK对象 DATABASE LINK是可以操作远程数据库对象,所涉及的SQL语句,请参考表20。 表20 DATABASE LINK对象相关SQL 功能 相关SQL 创建一个新的DATABASE LINK对象 CREATE DATABASE LINK 修改DATABASE LINK对象 ALTER DATABASE LINK 删除DATABASE LINK对象 DROP DATABASE LINK
  • 定义列加密密钥 列加密密钥主要用于密态数据库特性中,用来加密数据。列加密密钥定义主要包括创建列加密密钥、轮转加密列加密密钥的客户端主密钥以及删除列加密密钥。所涉及的SQL语句,请参考表1。 表2 列加密密钥定义相关SQL 功能 相关SQL 创建列加密密钥 CREATE COLUMN ENCRYPTION KEY 修改列加密密钥指定的客户端主密钥 8.14.191-ALTER COLUMN ENCRYPTION KEY 删列加密密钥 DROP COLUMN ENCRYPTION KEY
  • 常量与宏 GaussDB支持的常量和宏请参见表1。 表1 常量和宏 参数 描述 示例 CURRENT_CATALOG 当前数据库 1 2 3 4 5 testdb=# SELECT CURRENT_CATALOG; current_database ------------------ testdb (1 row) CURRENT_ROLE 当前用户 1 2 3 4 5 gaussdb=# SELECT CURRENT_ROLE; current_user -------------- omm (1 row) CURRENT_SCHEMA 当前数据库模式 1 2 3 4 5 gaussdb=# SELECT CURRENT_SCHEMA; current_schema ---------------- public (1 row) CURRENT_USER 当前用户 1 2 3 4 5 gaussdb=# SELECT CURRENT_USER; current_user -------------- omm (1 row) LOCALTIMESTAMP 当前会话时间(无时区) 1 2 3 4 5 gaussdb=# SELECT LOCALTIMESTAMP; timestamp ---------------------------- 2015-10-10 15:37:30.968538 (1 row) NULL 空值 - SESSION_USER 当前系统用户 1 2 3 4 5 gaussdb=# SELECT SESSION_USER; session_user -------------- omm (1 row) SYSDATE 当前系统日期 1 2 3 4 5 gaussdb=# SELECT SYSDATE; sysdate --------------------- 2015-10-10 15:48:53 (1 row) USER 当前用户,此用户为CURRENT_USER的别名。 1 2 3 4 5 gaussdb=# SELECT USER; current_user -------------- omm (1 row) 父主题: SQL参考
  • 数据类型 数据类型是数据的一个基本属性,用于区分不同类型的数据。不同的数据类型所占的存储空间不同,能够进行的操作也不相同。数据库中的数据存储在数据表中。数据表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。 GaussDB支持某些数据类型间的隐式转换,具体转换关系请参见PG_CAST。 数值类型 货币类型 布尔类型 字符类型 二进制类型 日期/时间类型 几何类型 网络地址类型 位串类型 UUID类型 JSON/JSONB类型 HLL数据类型 范围类型 对象标识符类型 伪类型 XML类型 XMLTYPE类型 SET类型 aclitem类型 数组类型 父主题: SQL参考
  • SQL发展简史 SQL发展简史如下: 1986年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86 1989年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89 1992年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2) 1999年,ISO/IEC 9075:1999,SQL:1999(SQL3) 2003年,ISO/IEC 9075:2003,SQL:2003(SQL4) 2011年,ISO/IEC 9075:200N,SQL:2011(SQL5)
  • 什么是SQL SQL是用于访问和处理数据库的标准计算机语言。 SQL提供了各种任务的语句,包括: 查询数据。 在表中插入、更新和删除行。 创建、替换、更改和删除对象。 控制对数据库及其对象的访问。 保证数据库的一致性和完整性。 SQL语言由用于处理数据库和数据库对象的命令和函数组成。该语言还会强制实施有关数据类型、表达式和文本使用的规则。因此在SQL参考章节,除了SQL语法参考外,还介绍了有关数据类型、表达式、函数和操作符等信息。
  • 常量与宏 GaussDB支持的常量和宏请参见表1。 表1 常量和宏 参数 描述 示例 CURRENT_CATALOG 当前数据库 1 2 3 4 5 postgres=# SELECT CURRENT_CATALOG; current_database ------------------ postgres (1 row) CURRENT_ROLE 当前用户 1 2 3 4 5 postgres=# SELECT CURRENT_ROLE; current_user -------------- omm (1 row) CURRENT_SCHEMA 当前数据库模式 1 2 3 4 5 postgres=# SELECT CURRENT_SCHEMA; current_schema ---------------- public (1 row) CURRENT_USER 当前用户 1 2 3 4 5 postgres=# SELECT CURRENT_USER; current_user -------------- omm (1 row) LOCALTIMESTAMP 当前会话时间(无时区) 1 2 3 4 5 postgres=# SELECT LOCALTIMESTAMP; timestamp ---------------------------- 2015-10-10 15:37:30.968538 (1 row) NULL 空值 - SESSION_USER 当前系统用户 1 2 3 4 5 postgres=# SELECT SESSION_USER; session_user -------------- omm (1 row) SYSDATE 当前系统日期 1 2 3 4 5 postgres=# SELECT SYSDATE; sysdate --------------------- 2015-10-10 15:48:53 (1 row) USER 当前用户,此用户为CURRENT_USER的别名。 1 2 3 4 5 postgres=# SELECT USER; current_user -------------- omm (1 row) 父主题: SQL参考
  • 常量与宏 GaussDB支持的常量和宏请参见表1。 表1 常量和宏 参数 描述 示例 CURRENT_CATALOG 当前数据库 1 2 3 4 5 openGauss=# SELECT CURRENT_CATALOG; current_database ------------------ openGauss (1 row) CURRENT_ROLE 当前用户 1 2 3 4 5 openGauss=# SELECT CURRENT_ROLE; current_user -------------- omm (1 row) CURRENT_SCHEMA 当前数据库模式 1 2 3 4 5 openGauss=# SELECT CURRENT_SCHEMA; current_schema ---------------- public (1 row) CURRENT_USER 当前用户 1 2 3 4 5 openGauss=# SELECT CURRENT_USER; current_user -------------- omm (1 row) LOCALTIMESTAMP 当前会话时间(无时区) 1 2 3 4 5 openGauss=# SELECT LOCALTIMESTAMP; timestamp ---------------------------- 2015-10-10 15:37:30.968538 (1 row) NULL 空值 - SESSION_USER 当前系统用户 1 2 3 4 5 openGauss=# SELECT SESSION_USER; session_user -------------- omm (1 row) SYSDATE 当前系统日期 1 2 3 4 5 openGauss=# SELECT SYSDATE; sysdate --------------------- 2015-10-10 15:48:53 (1 row) USER 当前用户,此用户为CURRENT_USER的别名。 1 2 3 4 5 openGauss=# SELECT USER; current_user -------------- omm (1 row) 父主题: SQL参考
  • 定义DATABASE LINK对象 DATABASE LINK是可以操作远程数据库对象,所涉及的SQL语句,请参考表17。 表17 DATABASE LINK对象相关SQL 功能 相关SQL 创建一个新的DATABASE LINK对象 CREATE DATABASE LINK 修改DATABASE LINK对象 ALTER DATABASE LINK 删除DATABASE LINK对象 DROP DATABASE LINK
  • 定义应用映射组 应用映射组是负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)模块的系统表,主要用于关联负载组。用户连接数据库后,只需要指定负载组即可将执行作业关联到给定的资源。所涉及的SQL语句,请参考表16。 表16 应用映射组定义相关SQL 功能 相关SQL 创建应用映射组 CREATE APP WORKLOAD GROUP MAPPING 修改应用映射组属性 ALTER APP WORKLOAD GROUP MAPPING 删除应用映射组 DROP APP WORKLOAD GROUP MAPPING