內容來自易百教程:https://www.yiibai.com/postgresql/
PostgreSQL是一個開源對象關係數據庫管理系統(ORDBMS)。
PostgreSQL的特點如下 -
- PostgreSQL可在所有主要操作系統(即Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和Windows等)上運行。
- PostgreSQL支持文本,圖像,聲音和視頻,幷包括用於C/C++,Java,Perl,Python,Ruby,Tcl和開放數據庫連接(ODBC)的編程接口。
- PostgreSQL支持SQL的許多功能,例如複雜SQL查詢,SQL子選擇,外鍵,觸發器,視圖,事務,多進程併發控制(MVCC),流式複製(9.0),熱備(9.0))。
- 在PostgreSQL中,表可以設置爲從“父”表繼承其特徵。
- 可以安裝多個擴展以向PostgreSQL添加附加功能。
以下是PostgreSQL中主要有三種類型的數據類型:
- 數值數據類型
- 字符串數據類型
- 日期/時間數據類型
數值數據類型
數字數據類型用於指定表中的數字數據。
名稱 | 描述 | 存儲大小 | 範圍 |
---|---|---|---|
smallint | 存儲整數,小範圍 | 2字節 | -32768 至 +32767 |
integer | 存儲整數。使用這個類型可存儲典型的整數 | 4字節 | -2147483648 至 +2147483647 |
bigint | 存儲整數,大範圍。 | 8字節 | -9223372036854775808 至 9223372036854775807 |
decimal | 用戶指定的精度,精確 | 變量 | 小數點前最多爲131072個數字; 小數點後最多爲16383個數字。 |
numeric | 用戶指定的精度,精確 | 變量 | 小數點前最多爲131072個數字; 小數點後最多爲16383個數字。 |
real | 可變精度,不精確 | 4字節 | 6位數字精度 |
double | 可變精度,不精確 | 8字節 | 15位數字精度 |
serial | 自動遞增整數 | 4字節 | 1 至 2147483647 |
bigserial | 大的自動遞增整數 | 8字節 | 1 至 9223372036854775807 |
字符串數據類型
String數據類型用於表示字符串類型值。
數據類型 | 描述 |
---|---|
char(size) | 這裏size 是要存儲的字符數。固定長度字符串,右邊的空格填充到相等大小的字符。 |
character(size) | 這裏size 是要存儲的字符數。 固定長度字符串。 右邊的空格填充到相等大小的字符。 |
varchar(size) | 這裏size 是要存儲的字符數。 可變長度字符串。 |
character varying(size) | 這裏size 是要存儲的字符數。 可變長度字符串。 |
text | 可變長度字符串。 |
日期/時間數據類型
日期/時間數據類型用於表示使用日期和時間值的列。
名稱 | 描述 | 存儲大小 | 最小值 | 最大值 | 解析度 |
---|---|---|---|---|---|
timestamp [ (p) ] [不帶時區 ] | 日期和時間(無時區) | 8字節 | 4713 bc | 294276 ad | 1微秒/14位數 |
timestamp [ (p) ]帶時區 | 包括日期和時間,帶時區 | 8字節 | 4713 bc | 294276 ad | |
date | 日期(沒有時間) | 4字節 | 4713 bc | 5874897 ad | 1微秒/14位數 |
time [ (p) ] [ 不帶時區 ] | 時間(無日期) | 8字節 | 00:00:00 | 24:00:00 | 1微秒/14位數 |
time [ (p) ] 帶時區 | 僅限時間,帶時區 | 12字節 | 00:00:00+1459 | 24:00:00-1459 | 1微秒/14位數 |
interval [ fields ] [ (p) ] | 時間間隔 | 12字節 | -178000000年 | 178000000年 | 1微秒/14位數 |
一些其他數據類型
布爾類型:
名稱 | 描述 | 存儲大小 |
---|---|---|
boolean | 它指定true 或false 的狀態。 | 1字節 |
貨幣類型:
名稱 | 描述 | 存儲大小 | 範圍 |
---|---|---|---|
money | 貨幣金額 | 8字節 | -92233720368547758.08 至 +92233720368547758.07 |
幾何類型:
幾何數據類型表示二維空間對象。最根本的類型:點 - 形成所有其他類型的基礎。
名稱 | 存儲大小 | 表示 | 描述 |
---|---|---|---|
point | 16字節 | 在一個平面上的點 | (x,y) |
line | 32字節 | 無限線(未完全實現) | ((x1,y1),(x2,y2)) |
lseg | 32字節 | 有限線段 | ((x1,y1),(x2,y2)) |
box | 32字節 | 矩形框 | ((x1,y1),(x2,y2)) |
path | 16+16n字節 | 封閉路徑(類似於多邊形) | ((x1,y1),…) |
polygon | 40+16n字節 | 多邊形(類似於封閉路徑) | ((x1,y1),…) |
circle | 24字節 | 圓 | <(x,y),r> (中心點和半徑) |