PostgreSQL - UUID类型

PostgreSQL - UUID类型 首页 / PostgreSQL入门教程 / PostgreSQL - UUID类型

在PostgreSQL中,下一个数据类型是 Universally Unique Identifier (通用唯一标识符),也称为 UUID ,由 RFC 4122 和另一个连接的标准指定。

UUID 值是由算法创建的128位长值,借助类似的算法来识别信息,从而使其在已知的 universe 中是唯一的。

让无涯教程查看UUID值的一些示例示例,因为无涯教程可以在下面的表示中看到:

6ecd8c99-4036-403d-bf84-cf8400f67836
c81d4e2e-bcf2-11e6-869b-7df92533d2db
237e9877-e79b-12d4-a765-321741963000 

从上面的示例中可以看到,UUID是 32位十六进制数字四个连字符(-)的排列。 UUID可能为 nil ,其中所有位均设置为

创建UUID值

PostgreSQL使无涯教程能够存储和等价UUID值,但它不包含函数,并在其核心中创建UUID值。

而不是依赖提供特定算法来创建UUID的第三方模块,例如 uuid-ossp 模块包含一些可访问的函数,这些函数执行标准用于创建UUID的算法。

无涯教程将使用以下 CREATE EXTENSION 创建扩展名命令在 数据库中安装 uuid-ossp 模块。

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

实施上述命令后,无涯教程将收到以下消息: uuid_ossp 已通过 Create Extension 命令成功安装。

PostgreSQL UUID

无涯教程在上面的命令中使用了 IF NOT EXISTS 子句,该子句可避免重新安装模块。

无涯教程可以使用 uuid_generate_v1()函数来创建UUID值,具体取决于当前时间戳记,计算机MAC地址的分组以及随机值:

SELECT uuid_generate_v1();

执行上述命令后,无涯教程将得到以下结果,该命令显示由 uuid_generate_v1()函数创建的UUID值。

PostgreSQL UUID

在以下命令中,无涯教程将使用 uuid_generate_v4()函数创建唯一依赖于随机数的UUID值:

SELECT uuid_generate_v4();

成功执行上述命令后,无涯教程将获得以下结果,该结果显示由 uuid_generate_v1()函数创建的UUID值。

PostgreSQL UUID

UUID类型示例

在CREATE命令的帮助下,无涯教程创建一个新表作为 Client UUID列,并使用INSERT命令。

Client 表包含各个列,例如 Client_id,client_first_name,client_last_name,client_email_id和client_address。

对于 client_id 列,无涯教程使用 UUID数据类型,它也是主键。此外,主基本列值将使用 uuid_generate_v4()函数自动创建。

CREATE TABLE Client (
    Client_id uuid DEFAULT uuid_generate_v4 (),
    client_first_name VARCHAR NOT NULL,
    client_last_name VARCHAR NOT NULL,
    client_email_id VARCHAR NOT NULL,
    Client_address VARCHAR,
    PRIMARY KEY (Client_id)
);

执行上述命令后,无涯教程将收到以下消息,该消息显示 Client 表已成功创建。

PostgreSQL UUID

在上面的命令中,无涯教程为 Client_id 列使用了UUID数据类型,其中 Client_id 列具有由 uuid_generate_v4()给出的默认值函数。

因此,PostgreSQL将调用 uuid_generate_v4()函数,以创建 client_id 值,如果无涯教程插入一个新行而不定义 client_id 列的值。

成功创建 Client 表后,无涯教程将在 INSERT 命令的帮助下向其中插入一些值。

INSERT INTO Client (client_first_name, client_last_name, 
client_email_id, Client_address)
VALUES('Mike','Ross', 'ross.mike@hotmail.com','Houston'),
('Hannah','Garcia','hannahgarcia@gmail.com','San Diego'),
('Maria ','Hernandez','Maira.hernandez@gmail.com','Seattle'),
('Robert','Smith','smith.robert@hotmail.com','Dallas');

实施上述命令后,无涯教程将获得以下消息窗口,该窗口显示指定的值已成功插入 Client 表中。

PostgreSQL UUID

创建并插入 Client 表的值后,无涯教程将使用 SELECT 命令返回 Client 的所有行桌子:

SELECT *
FROM Client;

成功执行上述命令后,无涯教程将获得以下输出,其中显示 Client 表中存在的所有数据:

PostgreSQL UUID

正如无涯教程在上面的屏幕截图中所看到的, Client_id 列已由 uuid_generate_v4()函数创建的 UUID值填充。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

推荐系统三十六式 -〔刑无刀〕

玩转Spring全家桶 -〔丁雪丰〕

Flutter核心技术与实战 -〔陈航〕

说透中台 -〔王健〕

Django快速开发实战 -〔吕召刚〕

体验设计案例课 -〔炒炒〕

郭东白的架构课 -〔郭东白〕

React Native 新架构实战课 -〔蒋宏伟〕

说透元宇宙 -〔方军〕

好记忆不如烂笔头。留下您的足迹吧 :)