MariaDB 使用 SQL 的哪个变体?
What variant of SQL does MariaDB use?
关系数据库管理系统通常使用 SQL 的特定变体。例如,SQL 服务器使用 Transact-SQL aka T-SQL.
我了解 MariaDB 基于 MySQL(RDBMS),MySQL 使用的 SQL 变体显然本身也称为 MySQL(根据 this question).我是否应该假设 MariaDB 也使用 MySQL 语言?
我尝试了几次 Google 搜索,但一无所获。由于 RDBMS 和语言之间的混淆,这很棘手。大多数结果只是将 MariaDB 与 MySQL(RDBMS)进行比较。
MariaDB 确实使用与 MySQL 相同的 SQL 方言。
但是,更高版本的 MariaDB 具有额外的功能,这些功能主要显示为查询语言中的设置和函数。 MariaDB 团队的差异列表在这里:https://mariadb.com/kb/en/library/mariadb-vs-mysql-features/
从我个人的角度来看,主要是在 MariaDB 10.2 及更高版本中。
- SEQUENCE 存储引擎:生成基数序列。 https://mariadb.com/kb/en/library/sequence-storage-engine/ 这显示为特殊格式的 table 名称,例如
sequence_1_to_42
.
在 MySQL 8 之前,MariaDb 有一些 MySQL 中没有的功能。这些都在MySQL8+
- Window 功能:排名、分布等https://mariadb.com/kb/en/library/sequence-storage-engine/
- 常用 Table 表达式 https://mariadb.com/kb/en/recursive-common-table-expressions-overview/
- ... 和
WITH
子句来使用它们。 https://mariadb.com/kb/en/with/
- 对数据进行操作的正则表达式不仅仅是匹配它。 https://mariadb.com/kb/en/library/pcre/
MySQL 版本 8 有更好的版本 REGEXP_REPLACE() and REXEXP_SUBSTR() than MariaDb's versions of the two。
关系数据库管理系统通常使用 SQL 的特定变体。例如,SQL 服务器使用 Transact-SQL aka T-SQL.
我了解 MariaDB 基于 MySQL(RDBMS),MySQL 使用的 SQL 变体显然本身也称为 MySQL(根据 this question).我是否应该假设 MariaDB 也使用 MySQL 语言?
我尝试了几次 Google 搜索,但一无所获。由于 RDBMS 和语言之间的混淆,这很棘手。大多数结果只是将 MariaDB 与 MySQL(RDBMS)进行比较。
MariaDB 确实使用与 MySQL 相同的 SQL 方言。
但是,更高版本的 MariaDB 具有额外的功能,这些功能主要显示为查询语言中的设置和函数。 MariaDB 团队的差异列表在这里:https://mariadb.com/kb/en/library/mariadb-vs-mysql-features/
从我个人的角度来看,主要是在 MariaDB 10.2 及更高版本中。
- SEQUENCE 存储引擎:生成基数序列。 https://mariadb.com/kb/en/library/sequence-storage-engine/ 这显示为特殊格式的 table 名称,例如
sequence_1_to_42
.
在 MySQL 8 之前,MariaDb 有一些 MySQL 中没有的功能。这些都在MySQL8+
- Window 功能:排名、分布等https://mariadb.com/kb/en/library/sequence-storage-engine/
- 常用 Table 表达式 https://mariadb.com/kb/en/recursive-common-table-expressions-overview/
- ... 和
WITH
子句来使用它们。 https://mariadb.com/kb/en/with/ - 对数据进行操作的正则表达式不仅仅是匹配它。 https://mariadb.com/kb/en/library/pcre/
MySQL 版本 8 有更好的版本 REGEXP_REPLACE() and REXEXP_SUBSTR() than MariaDb's versions of the two。