openGauss5.1:MySQL兼容性说明

2023年 11月 23日 54.4k 0

openGauss的MySQL兼容性主要通过Dolphin插件和内核实现。Dolphin插件的说明可参考Dolphin插件介绍。在openGauss内核中实现的MySQL兼容性特性见下表。

表 1 在openGauss内核中实现的MySQL兼容性特性列表

分类

概述

详细说明链接

DDL

CREATE DATABASE支持IF NOT EXISTS选项

CREATE DATABASE

DDL

CREATE SCHEMA支持IF NOT EXISTS选项

CREATE SCHEMA

DDL

ALTER USER支持IF EXISTS选项

ALTER USER

DDL

ALTER VIEW支持DEFINER选项、、SQL SECURITY选项

ALTER VIEW

DDL

CREATE VIEW支持DEFINER选项、SQL SECURITY选项

CREATE VIEW
DDL 支持在创建、修改对象等语句中指定COMMENT选项 ALTER FUNCTION、 ALTER PROCEDURE、 ALTER TABLE、 CREATE FUNCTION、 CREATE INDEX、 CREATE PROCEDURE、 CREATE TABLE、 CREATE TABLE PARTITION、 CREATE TABLE SUBPARTITION

DDL

CREATE TABLE支持创建主键、UNIQUE索引、外键约束

CREATE TABLE

DDL

ALTER TABLE支持创建主键、UNIQUE索引、外键约束

ALTER TABLE
DDL 支持自增列 ALTER TABLE、 CREATE TABLE
DDL 支持前缀索引 CREATE INDEX
DDL 支持指定字符集与排序规则 ALTER SCHEMA、 CREATE SCHEMA、 ALTER TABLE、 CREATE TABLE
DDL 修改表时支持在表第一列前面或者在指定列后面添加列 ALTER TABLE
DDL 修改列名称/定义语法兼容 ALTER TABLE
DDL 定时任务EVENT语法兼容 ALTER EVENT、 CREATE EVENT、 DROP EVENT、 SHOW EVENTS
DDL 创建分区表语法兼容 CREATE TABLE PARTITION、 CREATE TABLE SUBPARTITION

DML

DELETE支持从多个表中删除数据

DELETE

DML

DELETE支持ORDER BY和LIMIT

DELETE

DML

DELETE支持从指定分区(或子分区)删除数据

DELETE

DML

INSERT VALUES的右值表达式支持字段引用

INSERT

DML

UPDATE支持从多个表中更新数据

UPDATE

DML

UPDATE支持ORDER BY和LIMIT

UPDATE
DML SELECT INTO语法兼容 SELECT

DCL

支持在会话中set用户自定义变量

SET

DCL

支持set全局变量增强

SET
DCL SET TRANSACTION语法兼容 SET TRANSACTION

数据类型

支持NVARCHAR类型

字符类型

数据类型

支持SET数据类型

SET类型

函数和操作符

支持安全等于操作符

简单表达式

函数和操作符

支持group_concat函数

聚集函数
函数和操作符 支持LAST_INSERT_ID函数 SEQUENCE函数
函数和操作符 支持row_count()函数 row_count()函数

函数和操作符

支持安全函数aes_decrypt/aes_encrypt

安全函数

函数和操作符

支持字符处理函数sha/sha1/sha2

字符处理函数和操作符

控制语句

支持label:loop/while/repeat循环语法

循环语句

DDL

支持create table as语法中定义表字段属性

CREATE TABLE AS

优化器hint

支持force|use|ignore index语法指定扫描表使用的索引

INDEX_HINTS

声明语法

支持declare handler语法

错误捕获语句

声明语法

支持declare condition语法和declare cursor语法

基本结构

DCL

支持用户自定义变量在SQL语句中赋值

SET

DCL

支持drop trigger语法

drop trigger

SQL语法

支持delimiter定义结束符

DELIMITER

控制语句

存储过程中支持signal/resignal语法

抛出错误语句

控制语句

GET DIAGNOSTICS语法

GET DIAGNOSTICS语句

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论