企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

PostgreSQL常见的字段类型及应用示例

wudianyun 2024-12-15 16:38:35 精选文章 34 ℃

PostgreSQL提供了多种字段类型,以适应不同的数据存储需求。

常见的字段类型:

整数类型:

  1. integer(整数)
  2. smallint(短整数)
  3. bigint(长整数)

浮点数类型:

  1. real(单精度浮点数)
  2. double precision(双精度浮点数)

字符串类型:

  1. character varying(n)(可变长度字符串,最多n个字符)
  2. character(n)(定长字符串,恰好n个字符)
  3. text(可变长度字符串,无长度限制)

日期和时间类型:

  1. date(日期)
  2. time(时间)
  3. timestamp(日期和时间)
  4. interval(时间间隔)

布尔类型:

  1. boolean(布尔值,true或false)

数组类型:

  1. integer[](整数数组)
  2. text[](字符串数组)
  3. 多维数组等

JSON和JSONB类型:

  1. json(JSON格式数据)
  2. jsonb(二进制JSON格式数据)

其他类型:

  1. bytea(二进制数据)
  2. uuid(UUID)
  3. money(货币金额)

此外,PostgreSQL还支持自定义数据类型和范围类型,以满足特定需求。你可以查阅官方文档以了解更多关于字段类型的详细信息。

代码示例:

CREATE TABLE example_table (
   smallint_column smallint,
   integer_column integer,
   bigint_column bigint,
   real_column real,
   double_column double precision,
   numeric_column numeric(10,2),
   char_column char(10),
   varchar_column varchar(255),
   text_column text,
   date_column date,
   time_column time,
   timestamp_column timestamp,
   interval_column interval,
   boolean_column boolean,
   enum_column my_enum_type,
   integer_array_column integer[],
   text_array_column text[],
   json_column json,
   uuid_column uuid
);

-- 创建一个枚举类型
CREATE TYPE my_enum_type AS ENUM ('option1', 'option2', 'option3');

-- 插入示例数据
INSERT INTO example_table VALUES (
   1, -- smallint_column
   123, -- integer_column
   1234567890, -- bigint_column
   3.14, -- real_column
   3.14159265359, -- double_column
   1234.56, -- numeric_column
   'ABC', -- char_column
   'Hello World', -- varchar_column
   'This is a long text...', -- text_column
   '2021-01-01', -- date_column
   '12:34:56', -- time_column
   '2021-01-01 12:34:56', -- timestamp_column
   '1 day', -- interval_column
   TRUE, -- boolean_column
   'option1', -- enum_column
   '{1, 2, 3}', -- integer_array_column
   '{"apple", "banana", "orange"}', -- text_array_column
   '{"key": "value"}', -- json_column
   'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11' -- uuid_column
);

以上示例创建了一个名为example_table的表,其中包含了不同的字段类型。您可以根据自己的需要修改表名、字段名和示例数据。

Tags:

最近发表
标签列表