• 技术文章 >数据库 >PostgreSQL

    PostgreSQL 数据库的数据类型详细讲解 二

    2021-01-23 15:33:13原创4696

    PostgreSQL.png

    PostgreSQL提供了丰富的数据类型,数据类型是我们在创建表的时候为每个字段设置的。这样做的好处是用户可以使用 CREATE TYPE 命令在数据库中创建新的数据类型。PostgreSQL 的数据类型有很多种,下面我们具体来讲解。

    日期/时间类型

    下表列出了 PostgreSQL 支持的日期和时间类型。

    名字存储空间描述最低值最高值分辨率
    timestamp [ (p) ] [ without time zone ]8 字节日期和时间(无时区)4713 BC294276 AD1 毫秒 / 14 位
    timestamp [ (p) ] with time zone8 字节日期和时间,有时区4713 BC294276 AD1 毫秒 / 14 位
    date4 字节只用于日期4713 BC5874897 AD1 天
    time [ (p) ] [ without time zone ]8 字节只用于一日内时间00:00:0024:00:001 毫秒 / 14 位
    time [ (p) ] with time zone12 字节只用于一日内时间,带时区00:00:00+145924:00:00-14591 毫秒 / 14 位
    interval [ fields ] [ (p) ]12 字节时间间隔-178000000 年178000000 年1 毫秒 / 14 位

    布尔类型

    PostgreSQL 支持标准的 boolean 数据类型。

    boolean 有"true"(真)或"false"(假)两个状态, 第三种"unknown"(未知)状态,用 NULL 表示。

    名称存储格式描述
    boolean1 字节true/false

    枚举类型

    枚举类型是一个包含静态和值的有序集合的数据类型。

    PostgtesSQL中的枚举类型类似于 C 语言中的 enum 类型。

    与其他类型不同的是枚举类型需要使用 CREATE TYPE 命令创建。

    CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');

    创建一周中的几天,如下所示:

    CREATE TYPE week AS ENUM ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');

    就像其他类型一样,一旦创建,枚举类型可以用于表和函数定义。

    CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');CREATE TABLE person (
        name text,
        current_mood mood);INSERT INTO person VALUES ('Moe', 'happy');SELECT * FROM person WHERE current_mood = 'happy';
     name | current_mood 
    ------+--------------
     Moe  | happy(1 row)

    几何类型

    几何数据类型表示二维的平面物体。

    下表列出了 PostgreSQL 支持的几何类型。

    最基本的类型:点。它是其它类型的基础。

    名字存储空间说明表现形式
    point16 字节平面中的点(x,y)
    line32 字节(无穷)直线(未完全实现)((x1,y1),(x2,y2))
    lseg32 字节(有限)线段((x1,y1),(x2,y2))
    box32 字节矩形((x1,y1),(x2,y2))
    path16+16n 字节闭合路径(与多边形类似)((x1,y1),...)
    path16+16n 字节开放路径[(x1,y1),...]
    polygon40+16n 字节多边形(与闭合路径相似)((x1,y1),...)
    circle24 字节<(x,y),r> (圆心和半径)

    专题推荐:postgresql 枚举 布尔类型
    上一篇:PostgreSQL 数据库的数据类型详细讲解 一 下一篇:PostgreSQL 数据库的数据类型详细讲解 三

    相关文章推荐

    • 想安装PostgreSQL,看这篇也就够了• 一文了解什么是PostgreSQL• postgresql是什么• postgresql如何启动• postgresql无法启动服务怎么办

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网