您的位置:

了解pgsql数据类型的常见用法和示例

一、字符型数据类型

字符型数据类型用于存储字符和字符串。pgsql支持多种字符型数据类型,包括char、varchar、text等。其中,char(n)用来存储固定长度的字符串,而varchar(n)则用来存储长度可变的字符串。text类型则没有长度限制,可以存储任何长度的字符串。

-- 创建一个表,其中包含不同类型的字符型数据类型
CREATE TABLE char_types (
    id serial primary key,
    char_col char(10),
    varchar_col varchar(20),
    text_col text
);

-- 插入一条数据
INSERT INTO char_types (char_col, varchar_col, text_col)
VALUES ('abc', 'def', 'ghi');

在上面的示例中,我们创建了一个名称为char_types的表,并插入了一条数据。该数据包含了不同类型的字符型数据,包括char、varchar和text。

二、数值型数据类型

数值型数据类型用于存储数值数据,包括整数、小数、浮点数等。pgsql支持多种数值型数据类型,包括int、bigint、numeric、real、double precision等。

-- 创建一个表,其中包含不同类型的数值型数据类型
CREATE TABLE numeric_types (
    id serial primary key,
    int_col int,
    bigint_col bigint,
    numeric_col numeric(10, 2),
    real_col real,
    double_col double precision
);

-- 插入一条数据
INSERT INTO numeric_types (int_col, bigint_col, numeric_col, real_col, double_col)
VALUES (10, 9223372036854775807, 1234.56, 3.1415926, 3.141592653589793);

在上面的示例中,我们创建了一个名称为numeric_types的表,并插入了一条数据。该数据包含了不同类型的数值型数据,包括int、bigint、numeric、real和double precision。

三、日期和时间型数据类型

日期和时间型数据类型用于存储日期和时间相关的数据。pgsql支持多种日期和时间型数据类型,包括date、time、timestamp、interval等。

-- 创建一个表,其中包含不同类型的日期和时间型数据类型
CREATE TABLE datetime_types (
    id serial primary key,
    date_col date,
    time_col time,
    timestamp_col timestamp without time zone,
    interval_col interval
);

-- 插入一条数据
INSERT INTO datetime_types (date_col, time_col, timestamp_col, interval_col)
VALUES ('2022-01-01', '23:59:59', '2021-12-31 23:59:59', '1 day 2 hours');

在上面的示例中,我们创建了一个名称为datetime_types的表,并插入了一条数据。该数据包含了不同类型的日期和时间型数据,包括date、time、timestamp和interval。

四、其他数据类型

除了上面提到的几种数据类型外,pgsql还支持其他一些数据类型,包括布尔型、枚举型、数组型、几何型等。这里我们选取数组型数据类型做为示例。

-- 创建一个表,其中包含数组型数据类型
CREATE TABLE array_types (
    id serial primary key,
    int_array_col int[],
    varchar_array_col varchar(20)[]
);

-- 插入一条数据
INSERT INTO array_types (int_array_col, varchar_array_col)
VALUES (ARRAY[1, 2, 3], ARRAY['a', 'b', 'c']);

在上面的示例中,我们创建了一个名称为array_types的表,并插入了一条数据。该数据包含了两个数组型数据,一个是由整数组成的数组,一个是由字符串数组成的数组。