數(shù)據(jù)類型指定要在表字段中存儲哪種類型的數(shù)據(jù)。 在創(chuàng)建表時(shí),對于每列必須使用數(shù)據(jù)類型。
PotgreSQL中主要有三種類型的數(shù)據(jù)類型。 此外,用戶還可以使用CREATE TYPE SQL命令創(chuàng)建自己的自定義數(shù)據(jù)類型。
以下是PostgreSQL中主要有三種類型的數(shù)據(jù)類型:
數(shù)字?jǐn)?shù)據(jù)類型用于指定表中的數(shù)字?jǐn)?shù)據(jù)。
| 名稱 | 描述 | 存儲大小 | 范圍 |
|---|---|---|---|
| smallint | 存儲整數(shù),小范圍 | 2字節(jié) | -32768 至 +32767 |
| integer | 存儲整數(shù)。使用這個(gè)類型可存儲典型的整數(shù) | 4字節(jié) | -2147483648 至 +2147483647 |
| bigint | 存儲整數(shù),大范圍。 | 8字節(jié) | -9223372036854775808 至 9223372036854775807 |
| decimal | 用戶指定的精度,精確 | 變量 | 小數(shù)點(diǎn)前最多為131072個(gè)數(shù)字; 小數(shù)點(diǎn)后最多為16383個(gè)數(shù)字。 |
| numeric | 用戶指定的精度,精確 | 變量 | 小數(shù)點(diǎn)前最多為131072個(gè)數(shù)字; 小數(shù)點(diǎn)后最多為16383個(gè)數(shù)字。 |
| real | 可變精度,不精確 | 4字節(jié) | 6位數(shù)字精度 |
| double | 可變精度,不精確 | 8字節(jié) | 15位數(shù)字精度 |
| serial | 自動遞增整數(shù) | 4字節(jié) | 1 至 2147483647 |
| bigserial | 大的自動遞增整數(shù) | 8字節(jié) | 1 至 9223372036854775807 |
String數(shù)據(jù)類型用于表示字符串類型值。
| 數(shù)據(jù)類型 | 描述 |
|---|---|
| char(size) | 這里size是要存儲的字符數(shù)。固定長度字符串,右邊的空格填充到相等大小的字符。 |
| character(size) | 這里size是要存儲的字符數(shù)。 固定長度字符串。 右邊的空格填充到相等大小的字符。 |
| varchar(size) | 這里size是要存儲的字符數(shù)。 可變長度字符串。 |
| character varying(size) | 這里size是要存儲的字符數(shù)。 可變長度字符串。 |
| text | 可變長度字符串。 |
日期/時(shí)間數(shù)據(jù)類型用于表示使用日期和時(shí)間值的列。
| 名稱 | 描述 | 存儲大小 | 最小值 | 最大值 | 解析度 |
|---|---|---|---|---|---|
| timestamp [ (p) ] [不帶時(shí)區(qū) ] | 日期和時(shí)間(無時(shí)區(qū)) | 8字節(jié) | 4713 bc | 294276 ad | 1微秒/14位數(shù) |
| timestamp [ (p) ]帶時(shí)區(qū) | 包括日期和時(shí)間,帶時(shí)區(qū) | 8字節(jié) | 4713 bc | 294276 ad | |
| date | 日期(沒有時(shí)間) | 4字節(jié) | 4713 bc | 5874897 ad | 1微秒/14位數(shù) |
| time [ (p) ] [ 不帶時(shí)區(qū) ] | 時(shí)間(無日期) | 8字節(jié) | 00:00:00 | 24:00:00 | 1微秒/14位數(shù) |
| time [ (p) ] 帶時(shí)區(qū) | 僅限時(shí)間,帶時(shí)區(qū) | 12字節(jié) | 00:00:00+1459 | 24:00:00-1459 | 1微秒/14位數(shù) |
| interval [ fields ] [ (p) ] | 時(shí)間間隔 | 12字節(jié) | -178000000年 | 178000000年 | 1微秒/14位數(shù) |
| 名稱 | 描述 | 存儲大小 |
|---|---|---|
| boolean | 它指定true或false的狀態(tài)。 |
1字節(jié) |
| 名稱 | 描述 | 存儲大小 | 范圍 |
|---|---|---|---|
| money | 貨幣金額 | 8字節(jié) | -92233720368547758.08 至 +92233720368547758.07 |
幾何數(shù)據(jù)類型表示二維空間對象。最根本的類型:點(diǎn) - 形成所有其他類型的基礎(chǔ)。
| 名稱 | 存儲大小 | 表示 | 描述 |
|---|---|---|---|
| point | 16字節(jié) | 在一個(gè)平面上的點(diǎn) | (x,y) |
| line | 32字節(jié) | 無限線(未完全實(shí)現(xiàn)) | ((x1,y1),(x2,y2)) |
| lseg | 32字節(jié) | 有限線段 | ((x1,y1),(x2,y2)) |
| box | 32字節(jié) | 矩形框 | ((x1,y1),(x2,y2)) |
| path | 16+16n字節(jié) | 封閉路徑(類似于多邊形) | ((x1,y1),…) |
| polygon | 40+16n字節(jié) | 多邊形(類似于封閉路徑) | ((x1,y1),…) |
| circle | 24字節(jié) | 圓 | <(x,y),r>(中心點(diǎn)和半徑) |