MariaDB UUID() 函数的基础用法与实例

MariaDB UUID() 函数用来生成一个符合 RFC 4122 标准的通用唯一标识符 (Universally Unique Identifier, UUID)。

发布于

MariaDB UUID() 函数用来生成一个符合 RFC 4122 标准的通用唯一标识符 (Universally Unique Identifier, UUID)。UUID 可以保证在时间和空间上的唯一性,常用于需要生成全局唯一标识符的场景。

语法

MairaDB UUID() 函数的语法如下:

UUID()

该函数不接受任何参数。它返回一个长度为 36 个字符的字符串,格式为 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee,其中 a-e 是十六进制数字,中间的连字符可以保证字符串的可读性。

实例

生成一个 UUID 值

本实例展示如何使用 UUID() 函数生成一个 UUID。

SELECT UUID();

以下是该语句的输出:

+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| 4121dd05-ea71-11ee-a784-28c5d2301aff |
+--------------------------------------+

输出结果显示,UUID() 函数生成了一个符合标准格式的 UUID '4121dd05-ea71-11ee-a784-28c5d2301aff'

在查询结果中显示 UUID 值

本实例展示如何在查询结果中显示 UUID() 函数生成的值。

SELECT UUID(), 'Hello World!';

以下是该语句的输出:

+--------------------------------------+--------------+
| UUID()                               | Hello World! |
+--------------------------------------+--------------+
| 521fc711-ea71-11ee-a784-28c5d2301aff | Hello World! |
+--------------------------------------+--------------+

输出结果包含了一个由 UUID() 生成的 UUID '521fc711-ea71-11ee-a784-28c5d2301aff',以及字符串 'Hello World!'

在临时表中插入 UUID 值

本实例展示如何将 UUID() 函数生成的值插入到一个临时表中。

DROP TABLE IF EXISTS tmp;
CREATE TEMPORARY TABLE tmp (id VARCHAR(36));
INSERT INTO tmp VALUES (UUID());
SELECT * FROM tmp;

以下是该语句的输出:

+--------------------------------------+
| id                                   |
+--------------------------------------+
| 60b47a7e-ea71-11ee-a784-28c5d2301aff |
+--------------------------------------+

输出结果显示,临时表 tmp 中存储了一个由 UUID() 生成的 UUID '60b47a7e-ea71-11ee-a784-28c5d2301aff'

使用 UUID 生成主键值

本实例展示如何使用 UUID() 函数为一个表生成主键值。

DROP TABLE IF EXISTS users;
CREATE TABLE users (id VARCHAR(36) PRIMARY KEY, name VARCHAR(50));
INSERT INTO users VALUES (UUID(), 'John');
SELECT * FROM users;

以下是该语句的输出:

+--------------------------------------+------+
| id                                   | name |
+--------------------------------------+------+
| 6d4dac31-ea71-11ee-a784-28c5d2301aff | John |
+--------------------------------------+------+

输出结果显示,表 users 中插入了一条记录,其主键值 '6d4dac31-ea71-11ee-a784-28c5d2301aff'UUID() 函数生成。

UUID 与其他 UUID 函数对比

本实例展示了 UUID() 函数与其他 UUID 函数的区别。

SELECT UUID(), UUID_SHORT();

以下是该语句的输出:

+--------------------------------------+--------------------+
| UUID()                               | UUID_SHORT()       |
+--------------------------------------+--------------------+
| 846815d0-ea71-11ee-a784-28c5d2301aff | 100767554737274885 |
+--------------------------------------+--------------------+

输出结果显示,UUID() 函数生成了一个标准 UUID 字符串,UUID_SHORT() 函数生成了一个 64 位长整数值。

相关函数

以下是几个与 MairaDB UUID() 相关的几个函数:

  • MariaDB UUID_SHORT() 函数用来生成一个短的 64 位全局唯一标识符。

结论

本文介绍了 MariaDB UUID() 函数的语法、用法和实例。通过实例,我们演示了如何使用 UUID() 函数生成符合 RFC 4122 标准的 UUID,以及该函数与其他 UUID 相关函数的区别。UUID() 函数在需要生成全局唯一标识符的场景中非常有用,例如作为主键或者唯一索引等。