迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

在 MySQL 中生成随机且唯一的字符串

作者:迹忆客 最近更新:2024/03/25 浏览次数:

今天,我们将学习在 MySQL 中使用各种函数来生成随机且唯一的字符串。这些函数包括 MD5()RAND()SUBSTR()UUID()

在 MySQL 中没有内置的方法来生成随机字符串,但是有很多其他的方法可以让我们获得优势来满足要求。在这里,我们将了解在 MySQL 中生成随机和唯一字符串的最简单和最有效的方法。


在 MySQL 中使用 MD5()RAND()SUBSTR() 生成随机且唯一的字符串

示例代码:

SELECT SUBSTR(MD5(RAND()),1,8) AS RandomString;

输出:

+--------------+
| RandomString |
+--------------+
| 7d192f5f     |
+--------------+
1 row in set (0.00 sec)

MD5() 函数生成参数的 128 位校验和表示。在上面的例子中,RAND() 函数生成的值是 MD5() 函数的参数; RAND() 函数产生随机值。

但是,校验和结果是从传递给 MD5() 函数的参数生成的 32 个字母数字字符。此外,我们使用 SUBSTR() 根据我们项目的要求提取 MD5 字符串的一部分。

SUBSTR() 采用三个参数:字符串、提取的开始位置和长度。在上面的示例代码中,我们从第一个字符开始,从 MD5 字符串中提取了 8 个字符串。


使用 UUID() 在 MySQL 中生成随机且唯一的字符串

示例代码:

SELECT LEFT(UUID(), 8)

输出:

+-----------------+
| LEFT(UUID(), 8) |
+-----------------+
| 4a1f35bc        |
+-----------------+
1 row in set (0.00 sec)

在 MySQL 中生成 8 个字符的字符串的另一种方法是 LEFT(UUID(),8),如上所述。RFC 4122(通用唯一标识符 URN 命名空间)指定了 UUID()(通用唯一标识符),它是一个 128 位长值。

它根据时间和空间生成一个全局唯一的值。由于 UUID() 产生的值是唯一的,因此它们是不可预测或不可猜测的。

这意味着 UUID() 总是生成一个随机值。我们可以使用以下查询来获取 8 或 10 个字符长的字符串。

示例代码:

-- for 8 characters long string
SELECT LEFT(UUID(),8) random_string ;
-- for 10 characters long string
SELECT RIGHT(UUID(),10) random_string ;

请记住,UUID() 输出一个十六进制值,该值由由连字符分隔的五个部分组成。因此,我们可以获得一个包含数字、连字符和字母的字符串,具体取决于所需的字符串长度。

示例代码:

SELECT UUID(),  LEFT(UUID(), 8), right(uuid(),20);

输出:

+--------------------------------------+-----------------+----------------------+
| UUID()                               | LEFT(UUID(), 8) | right(uuid(),20)     |
+--------------------------------------+-----------------+----------------------+
| b3e73af1-d811-11ec-b138-d8d09042fdaa | b3e73b03        | ec-b138-d8d09042fdaa |
+--------------------------------------+-----------------+----------------------+
1 row in set (0.00 sec)

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 MySQL 中声明和使用变量

发布时间:2024/03/26 浏览次数:115 分类:MySQL

当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。

在 MySQL 中实现刷新权限

发布时间:2024/03/26 浏览次数:211 分类:MySQL

本教程介绍了 MySQL 中的刷新权限命令,用于刷新授权表并影响允许的更改。

在 MySQL 中设置时区

发布时间:2024/03/26 浏览次数:93 分类:MySQL

在本教程中,我们将学习如何在 MySQL 服务器中更改时区。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便