資料型別
1、字串型別
char 型別:描述單個位元組的字段。
char(length)型別:存放定長的字元到字串中,不足 length 的字串,用空格進行
補充。varchar(length)型別:存放變長的字串,但有長度限制
text 型別:不限制字串的數目,通常用於描述長度變化較大或長度不可預知的資料字
段。其中,char(length)型別處理速度上要比 varchar(length)型別和 text 型別要快,
但是儲存上要占用很大空間。所以說在設計資料庫的時候,需要注意的地方。
2、數值型別
int2 型別
int4、integer 型別
int8 型別
float4 型別
float8 型別
numeric 型別
serial 型別
integer、int2 和 int8 用於描述存放整型數值的變數。integer 型別和 int4 型別的變數
都是占用 4 個位元組的儲存容量;int2 型別的變數是占用 2 個位元組的儲存容量;int8 型別的變數是占用 8 個位元組的儲存容量。
float8 和 float4 用於描述浮點型別變數。前者精度為 15 位資料,後者的精確度為 6 位 資料。
numeric 型別用於描述使用者自定義精度的實數變數。這種型別的處理速度最慢。盡量避免使用。
serial 型別是用其他型別構造出來的一種特殊型別。典型的用途是建立表的唯一標識。 預設情況下,能建立乙個隱含的序列,當刪除表的時候,隱含序列並不會被刪除。
3、時間型別
date
time
timestamp
interval
其中,date 型別用於描述日期變數,包括年、月、日,它的格式由 datestyle 配置項的 值來決定。
highgo=# select current_date;
date
------------
2017-03-30
(1 row)
time 型別用於描述時間資料變數,包括時、分、秒,三者之間用「:」分隔。
highgo=# select current_time;
timetz
--------------------
15:23:24.057695+08
(1 row)
timestamp 型別用於描述時間戳資料變數,包括年、月、日和時、分、秒。
highgo=# select current_timestamp;
now
-------------------------------
2017-03-30 15:23:29.536595+08
(1 row)
interval 型別用於描述時間間隔變數,包括年、月、日和時、分、秒等分量。
4、邏輯型別
boolean 型別 用於描述邏輯變數,只能存放兩個值:true 和 false。
5、幾何型別
幾何型別是 highgo db 特有的資料型別,主要用於描述存放平面二維幾何圖引數的變數。
6、網路型別
cidr 型別:ip v4 位址
inet 型別:ip v4 位址或主機名
通常在資料庫設計的時候,由字元型別進行代替。也減少了在程式設計的時候進資料型別的轉換。
7、陣列型別
陣列型別,這種字段可以用於存放多個簡單型別的資料。陣列字段可以是一維的,也可以 是二維的,甚至可以是多維的。
7.1定義方法
highgo=# create table test1(name integer[5]);
create table
highgo=# create table test2(name integer);
create table
7.2插入資料
highgo=# insert into test1 values('');
insert 0 1
highgo=# insert into test1 values('');
insert 0 1
7.3陣列欄位的引用
highgo=# select * from test1 where name='';
name
-------
(1 row)
7.4用途
對於長度不固定、對資料型別有特別要求的資料,陣列字段特別有用。
8、大物件型別
highgo db 提供了用於儲存超大型文字的 text 型別和儲存二進位制資料的 bytea 型別。
瀚高資料庫還相容了 oracle 的 clob 和 blob 型別。
大物件的引用可以利用 highgo db 的函式 lo_import()將大物件插入到資料庫中,也可 以利用 lo_export()函式從資料庫中取出大物件。
9、預定義變數
highgo=# select current_date;
date
------------
2017-03-30
(1 row)
highgo=# select current_time;
timetz
--------------------
15:23:24.057695+08
(1 row)
highgo=# select current_timestamp;
now
-------------------------------
2017-03-30 15:23:29.536595+08
(1 row)
highgo=# select current_user;
current_user
--------------
highgo
(1 row)
pg學習 基本表定義 修改表結構
修改表結構 1 增加字段 highgo d test1 table public.test1 column type modifiers id integer name character varying highgo alter table test1 add addr varchar 20 al...
pg學習 基本表定義 約束關係
約束關係 1 非空約束 highgo create table test1 highgo num int unique,highgo name varchar 10 highgo 注意 create table unique 將要為表 test1 建立隱含索引 test1 num key creat...
C 學習 基本資料型別
整型,字元型,布林型,浮點型 c c 標準只定義了最低的位數,而不是必需的固定位數 bool 布林型 char 字元型 8位 wchar t 寬字元型 16位 short 短整型 16位 int 整形 16位 long 長整形 32位 float 單精度浮點型 6為有效數字 double 雙精度浮點...