postgresql的数据类型

一、数据类型

1、数值类型

数值类型由 2 字节、4 字节或 8 字节的整数以及 4 字节或 8 字节的浮点数和可选精度的十进制数组成。

类型名称Navicat中显示的名称描述
smallintint2定长,2字节,即二进制16位,十进制-32768 到 +32767
integerint4定长,4字节,即二进制32位,十进制-2147483648 到 +2147483647
bigintint8

定长,8字节,即二进制64位,十进制-9223372036854775808 到 +9223372036854775807

numericnumeric变长,精确,小数点前 131072 位;小数点后 16383 位
decimaldecimal变长,精确,小数点前 131072 位;小数点后 16383 位
realfloat4变长,不精确,4字节,6 位十进制数字精度
double precisionfloat8变长,不精确,8字节,15 位十进制数字精度
smallserialint2自增整数,Navicat中显示int2,同时默认规则变为:nextval('表名_id_seq'::regclass)
serialint4自增整数,Navicat中显示int4,同时默认规则变为:nextval('表名_id_seq'::regclass)
bigserialint8自增整数,Navicat中显示int8,同时默认规则变为:nextval('表名_id_seq'::regclass)

 

2、字符类型

名字描述
character varying(n), varchar(n)变长,有长度限制,n表示字符长度
character(n), char(n)定长,不足补空白,n表示字符长度
text变长,无长度限制,n表示字符长度

varchar不指定长度,可以存储最大长度10485760(1GB)的字符串,而char不指定长度,默认则为1。

text和varchar几乎无性能差别,区别仅在于存储结构的不同。

对于char的使用,应该在确定字符串长度的情况下使用,否则应该选择varchar或者text。

事实上,character(n)通常是这三个中最慢的,因为额外存储成本。在大多数情况下,应该使用text 或character varying。

 

注释:

定长:长度固定,用户不可以指定长度。

变长:长度不固定,用户可以指定长度。

bit:即位,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位。一个二进制数据0或1,是1bit。

Byte:即字节,字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定1Byte=8bit。

字符:一个汉字、一个数字、一个字母都称为一个字符。

1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

2,UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。

3,Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。

字:计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。

字长:指字的位数,即计算机CPU一次操作处理实际位数的多少。计算机的字长越大,其性能越优越。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值