温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何查询数据库中的UUID

发布时间:2026-07-01 17:01:58 来源:亿速云 阅读:85 作者:小樊 栏目:数据库

在数据库中查询 UUID,具体方式取决于你使用的数据库类型以及UUID 的存储方式(字符串 / 二进制)。下面按常见数据库给你总结。


一、通用说明

UUID 通常以两种形式存在:

  1. 字符串形式
550e8400-e29b-41d4-a716-446655440000
  1. 二进制形式(16 字节)
  • MySQLBINARY(16)
  • PostgreSQL:UUID 类型(内部是二进制)

二、MySQL 查询 UUID

1️⃣ UUID 存为字符串(VARCHAR)

SELECT *
FROM your_table
WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';

2️⃣ UUID 存为 BINARY(16)

查询时转换

SELECT *
FROM your_table
WHERE uuid = UUID_TO_BIN('550e8400-e29b-41d4-a716-446655440000');

显示时转为字符串

SELECT
  BIN_TO_UUID(uuid) AS uuid_str
FROM your_table;

✅ MySQL 8.0+ 才有 UUID_TO_BIN / BIN_TO_UUID


三、PostgreSQL 查询 UUID

UUID 是原生类型(推荐)

SELECT *
FROM your_table
WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';

类型转换(如字段是字符串)

SELECT *
FROM your_table
WHERE uuid::uuid = '550e8400-e29b-41d4-a716-446655440000';

SELECT *
FROM your_table
WHERE CAST(uuid AS uuid) = '550e8400-e29b-41d4-a716-446655440000';

四、SQL Server 查询 UUID(UNIQUEIDENTIFIER)

直接比较

SELECT *
FROM your_table
WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';

转为字符串

SELECT *
FROM your_table
WHERE CONVERT(VARCHAR(36), uuid) = '550e8400-e29b-41d4-a716-446655440000';

五、MongoDB 查询 UUID

db.collection.find({
  _id: UUID("550e8400-e29b-41d4-a716-446655440000")
})

或(二进制形式):

db.collection.find({
  _id: BinData(3, "VQ6EAC6bQdSnFkRmVUQAAA==")
})

六、常见坑提醒 ⚠️

  1. 大小写问题

    • UUID 通常不区分大小写
    • 但字符串比较时可能区分(尤其 MySQL)
  2. 格式问题

    • 不要多空格
    • 不带 {}(SQL Server 允许,但最好不带)
  3. 索引问题

    • UUID 做主键时,插入性能较差
    • 推荐 MySQL 使用 UUID_TO_BIN(uuid, true)(有序)

七、示例总结

数据库 查询方式
MySQL WHERE uuid = 'xxx'UUID_TO_BIN()
PostgreSQL WHERE uuid = 'xxx'
SQL Server WHERE uuid = 'xxx'
MongoDB UUID("xxx")

如果你愿意,可以把:

  • 数据库类型
  • UUID 字段类型
  • 表结构

发给我,我可以帮你写精确可用的 SQL

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI