GUID, 即Globally Unique Identifier(全球唯一标识符) 也称作UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
在数据库的设计中有时将字段设置成GUID类型,并作为主键,GUID 的生成可以在数据库中也可以在程序中生成,以下总结了GUID在数据库及程序中的不同的生成的方法
一、在数据库中生成 GUID
1. SQL Server
在 SQL Server 中使用 NEWID(),来生成一个GUID,语法如下:
SELECT NEWID()
2. MySQL
在 MySQL 中使用UUID 来生成一个 GUID,语法如下:
SELECT UUID();
3. Oracle
在 Oracle中使用UUID 来生成一个 GUID,语法如下:
SELECT SYS_GUID() FROM DUAL;
二、 在程序中生成 GUID
1. DOT.NET C#
在 C# 中使用 NewGuid(); 来生成,具体如下:
System.Guid.NewGuid().ToString("N"); 32位字符
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
System.Guid.NewGuid().ToString("D"); 连字符分隔的32位字符串
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
System.Guid.NewGuid().ToString("B"); 在大括号中、由连字符分隔的32位字符串
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
System.Guid.NewGuid().ToString("P"); 在圆括号中、由连字符分隔的32位字符串
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
2. Java
在Java 语言中就不再使用 NewGuid()来生成了,而是使用 UUID ,其语法如下:
java.util.UUID.randomUUID();