PostgreSQL 数据库的数据类型和运算符

数据库的数据类型和运算符

一、数据库的介绍

1、整数类型

PostgreSQL 数据库的数据类型和运算符_第1张图片

创建一张表,三种不同的日期格式

PostgreSQL 数据库的数据类型和运算符_第2张图片
2、浮点数类型

PostgreSQL 数据库的数据类型和运算符_第3张图片

Postgresql也支持sql的标准表的语法,float和float(p)用于声明非精确的数值类型。其中,p声明以二进制位表示的最低可接受精度。在选取REAL类型的时候,PostgreSQL接受float(1)到float(24),在选取DOUBLE PRECISION的时候,接受float(25)到float(53)。在允许范围之外的p值将导致一个错误, 没有声明精度的float将被当作DOUBLE PRECISION。

PostgreSQL 数据库的数据类型和运算符_第4张图片

PostgreSQL 数据库的数据类型和运算符_第5张图片

3、任意精度类型

    在PostgreSQL中,NUMERIC标识数值是任意精度的类型,使用NUMERIC(M,N)来表示。其中,M称为精度,表示总的位数;N称为标度,表示小数的位数。例如321.594,精度为6,标度为3。

    NUMERIC的有效的取值范围有M和N的值决定。如果改变M而固定N,则其取值范围将随M的变大而变大。另外如果用户数据的精度超出指定精度,则会四舍五入进行处理。

PostgreSQL 数据库的数据类型和运算符_第6张图片

插入数据,进行查询

PostgreSQL 数据库的数据类型和运算符_第7张图片

4、日期与时间类型

在PostgreSQL中,有多种日期数据类型,主要有:TIME 、 DATE、TIMESTAMP和INTERVEL。每一个类型都有合法的取值范围,当指定确实不合法的值时,系统将“零”值插入到数据库中。

PostgreSQL 数据库的数据类型和运算符_第8张图片

PostgreSQL 数据库的数据类型和运算符_第9张图片

PostgreSQL 数据库的数据类型和运算符_第10张图片

PostgreSQL 数据库的数据类型和运算符_第11张图片

①、TIME数据类型

用于只需要时间信息的值,在存储时需要8个字节。格式为:HH:MM:SS。HH表示小时,MM表示分钟,SS表示秒。取值范围为00:00:00--24:00:00

②、DATE数据类型

用在仅需要日期格式的时候,没有时间部分,在存储是需要4个字节,日期格式为“YYYY-MM-DD”。其中,YYYY表示年;MM表示月;DD表示日。在给DATE类型的字段赋值时,可以使用字符串类型或者数字类型的数据插入,只要符合DATE的日期格式即可。

③、TIMESTAMP数据类型【时间戳类型】

日期格式是:“YYYY-MM-DD  HH:MM:SS”。

④、创建带时区的日期和时间类型

PostgreSQL 数据库的数据类型和运算符_第12张图片

PostgreSQL 数据库的数据类型和运算符_第13张图片

PostgreSQL 数据库的数据类型和运算符_第14张图片

PST是西8区,如果不指定时区,默认为东8区。

5、字符串类型

字符串类型用来存储字符串数据,除了可以存储字符串数据之外,还可以存储其他数据,比如图片和声音的二进制数据。字符串可以进行区分或者不区分大小写的串比较。例如CHAR 、VARCHAR 、TEXT。

PostgreSQL 数据库的数据类型和运算符_第15张图片

注:CHAR 和VARCHAR 的区别

CHAR类型在数据长度不足时,会以空格去补齐;但是VARCHAR类型不会以空格补齐,只会存储数据的实际长度。

所以CHAR类型会占用更多的存储空间,但是CHAR在检索数据的效率上比VARCHAR类型较高。

①、VARCHAR(n)和CHARACTER VARYING(n)

n是一个正整数,两者都可以存储最多n个字符的字符串。如果要存储的字符串比声明的长度短,类型为CHARACTER的数值将会用空白填满;而类型为CHARACTER VARYING的数值将只是存储较短的字符串。

PostgreSQL 数据库的数据类型和运算符_第16张图片

PostgreSQL 数据库的数据类型和运算符_第17张图片

PostgreSQL 数据库的数据类型和运算符_第18张图片

CHARACTER类中填充的空白是无意义的。

②、TEXT

可以存储任何长度的字符串。尽管TEXT不是SQL标准类型,但是其他许多的SQL数据库系统中也包括它。

6、二进制类型

PostgreSQL支持两种字符型数据:文本字符串和二进制字符串。例如BYTEA,用于存储二进制字符串。

7、布尔类型

BOOLEAN用一个字节来存储,提供了TRUE和FALSE两个值。

8、数组类型

数组类型可以是任何基本类型或用户定义类型。

①、声明数组

address text

②、插入数组数值

二、如何选择数据类型

1、整数和浮点数

整数:不需要小数部分

浮点数:需要小数部分

2、日期和时间类型

TIME:时间

DATE:日期

TIMESTAMP:日期+时间

3、CHAR和VARACTER的特点的选择

CHAR:固定长度字符

VARACTER:可变长度字符

三、常见运算符介绍

1、运算符

①、算术运算符

 +         -         /       *           %(求余)

PostgreSQL 数据库的数据类型和运算符_第19张图片

②、比较运算符

>       <        >=           <=        !=   IN      LIKE       LEAST       BENTWEEN  AND    GREATEST    

PostgreSQL 数据库的数据类型和运算符_第20张图片

③、逻辑运算符

TRUE      FALSE     AND     OR    NOT

PostgreSQL 数据库的数据类型和运算符_第21张图片

PostgreSQL 数据库的数据类型和运算符_第22张图片

总结:

PostgreSQL 数据库的数据类型和运算符_第23张图片

④、位运算符

&        |         ~         ^          <<               >>

PostgreSQL 数据库的数据类型和运算符_第24张图片

2、规则

*** 规则:①、 如果有一个或是两个参数为null,那么比较的结果为空;

                ②、若同一个运算符中两个参数都是字符串,那么比较结果按照字符串进行比较;

                ③、如果两个参数均为整数,那么在比较的时候会按照整数类型来比较;

                ④、如果一个字符串和数值类型进行比较,那么PostgreSQL数据库会自动将字符串类型转换成数值进行比较。

PostgreSQL 数据库的数据类型和运算符_第25张图片

运算符的优先级:

PostgreSQL 数据库的数据类型和运算符_第26张图片

有参考资料书籍 !!

你可能感兴趣的:(数据库,PostgreSQL,PostgreSQL)