一、数据类型:
1、数字类型
1)、整数类型
int2 = smallint
int4 = integer
int8 = bigint
2)任意精度类型(decimal和muneric等同)/(Infinity,-Infinity,NaN分别表示无穷大、负无穷大和不是一个数字)
numeric(6,4) 意思为带有4位小数,整数部分有2位,精度为6比例为4
numeric 不指定任何精度可以存储到该类型上限的大小
3)浮点数据类型
real(6 位十进制数字精度) 等同于 float(n)-->n的范围是1~24
double precision(15 位十进制数字精度) 等同于 float(n)-->n的范围是25~53
float不指定精度默认等同于 double precision
4)序号类型(不是序列)
serial 和 serial4 是等效的: 两个都创建 integer 字段
bigserial 和 serial8 也一样,只不过它创建一个 bigint 字段
2、字符类型
character varying(n), varchar(n)-->变长,有长度限制
character(n), char(n)-->定长,不足补空白text变长,无长度限制
3、日期类型
timestamp [ (p) ] [without time zone]
-->包括日期和时间
timestamp [ (p) ] with time zone
-->日期和时间,带时区
interval [ (p) ]
-->时间间隔
date
-->只用于日期
time [ (p) ] [ without time zone ]
-->只用于一日内时间
time [ (p) ] with time zone
-->只用于一日内时间,带时区
4、布尔数据类型:boolean
二、约束
1、检查约束
CONSTRAINT CHECK(布尔exp)
2、非空约束
NOT NULL
3、唯一约束
UNIQUE,还可以这样使用:
CREATE TABLE example (
a integer,
b integer,
c integer,
UNIQUE (a, c)
);
4、主键约束
PRIMARY KEY,亦可使用表约束
5、外键约束
FOREIGN KEY (b, c) REFERENCES other_table (c1, c2)
三、ALTER语句
1、增加新字段
ALTER TABLE 表名 ADD COLUMN 新字段名字段类型;
例:ALTER TABLE pro ADD COLUMN description text CHECK (description <> '');
2、删除表中的字段:
ALTER TABLE products DROP COLUMN description;
*你可以通过使用 CASCADE 来授权删除任何依赖该字段的东西:
ALTER TABLE products DROP COLUMN description CASCADE;
3、
Postgresql 学习笔记 来自淘豆网m.daumloan.com转载请标明出处.