在 PostgreSQL 中,枚举类型是用户定义的标签集合,用于存储有限的可能取值之一。通过使用枚举类型,可以确保某一列的值仅为预定义的一组合法取值之一。以下是使用枚举类型的基本示例:

1. 定义枚举类型:
   CREATE TYPE mood AS ENUM ('happy', 'sad', 'angry');

   在这个例子中,创建了一个名为 mood 的枚举类型,它包含了三个可能的取值:'happy'、'sad' 和 'angry'。

2. 使用枚举类型:
   CREATE TABLE example (
       person_name text,
       person_mood mood
   );

   在这个例子中,创建了一个表 example,其中包含两列:person_name 存储人名,而 person_mood 存储枚举类型 mood 的值。

3. 插入数据:
   INSERT INTO example (person_name, person_mood)
   VALUES ('Alice', 'happy');

   INSERT INTO example (person_name, person_mood)
   VALUES ('Bob', 'angry');

   在插入数据时,只能使用枚举类型中定义的合法取值。

4. 查询数据:
   SELECT * FROM example WHERE person_mood = 'sad';

   查询时也可以使用枚举类型进行条件过滤。

枚举类型提供了一种方便的方式来强制确保某列只包含事先定义的几种取值,从而增强数据的一致性和可读性。需要注意的是,枚举类型的值是按照定义的顺序存储的,因此在使用时可以使用其在定义中的位置(0-based)或实际的标签值。


转载请注明出处:http://www.zyzy.cn/article/detail/8155/PostgreSQL