PostgreSQL 入门

1.连接数设置为:-1。表示链接数不受限制,理论上可以使用无数个链接。

2.使用外键约束,外键用来在两个表的数据之间建立连接,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。定义外键后,不允许删除另一个表中具有关联的行。

主表(父表):对于两个具有关联关系的表而言,主键所在的那个表既是主表。从表(子表):外键所在的那个表是从表。

约束:(1)使用非空约束“ not null”(2)使用唯一性约束“ unique”(3)使用默认约束 “default 默认值”

3.删除表参考

drop talbe [if exists] 表1,表2,......表n;

"if exists"判断表是否存在,如果表不存在,SQL可以顺利执行。

4.删除被其他表关联的主表,如果想保留子表,需要先删除关联,再删除主表。

5.VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。

6.修改唯一性

ALTER TABLE distributors 
ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);

 7.精NUMERIC表示任意精度的类型,Numeric(M,N),M为精度表示总的位数,N为标度表示小数的位数。

8.timestamp改为带时区的

alter table times
alter column dt type timestamp with time zone;

 9.Like关键字 百分号%匹配0个或多个字符,下划线'_'匹配一个字符。select 'stud' like 'stu_';select 'stud' like 's%';返回的都是true;

10。least(10,null),比较中忽略null,返回10.  select null and '1';返回null,select '0' and null;既有0又有Null,这里返回的是f注意。‘1’ or null返回t,'0' or null返回空值null.

11.获取整数ceil(-3.35),返回不小于这个数的整数-3.floor(-3.35),返回不大于这个整数的数-4。

12.round(x),对x值进行四舍五入。接近x 的整数。round(x,y)。y表示保留小数点后面y位。select round(13.222,-1);返回10。

13Rpad('hello',10,'?');返回"hello?????"右边填充,规定字符串为10长度。lpad左边填充

 14.substring(‘lunch’,-2,21)如果n为负数都返回原来的整个数。

15.extract(dow from current_timestamp);提取日期是一个星期中的星期几。doy是一年中第几天

16.加密函数MD5(str)。encode(str,pswd_str),pswd_str表示加密编码有:base64,hex和escape

 

posted @ 2014-11-13 11:20  mountain_sun  阅读(365)  评论(0编辑  收藏  举报