PostgreSQL继承详解

继承是面向对象的数据库的概念。它开启了数据库设计新的有趣的可能性大门。 让我们创建两个表:一个 cities 表和一个 capitals 表。自然,首府(capital)也是城市(cities),因此在列出所有城市时你想要某种方法隐含地显...

PostgreSQL语法结构详解

SQL 输入由一系列命令组成。一条命令由一系列记号构成,用一个分号(";")结尾。输入流的终止也结束一条命令。哪些记号是合法的取决于特定命令的语法。 记号可以是一个关键字、标识符、引号包围的标识符、文本(或常量)、特殊的字符符号。记号通常...

PostgreSQL值表达式详解

4.2. 值表达式 值表达式用在各种语法环境中,比如在 SELECT 命令的目标列表中,在 INSERT 或 UPDATE 中用作新的列值,或者在许多命令的搜索条件中使用。我们有时候把值表达式的结果叫做标量 ,以便与...

PostgreSQL调用函数详解

允许函数有命名参数,可以被位置 或名称表示法调用。名称表示法对有大量参数的函数特别有用,因为它更加明确和可靠的标记了形参和实参之间的联系。在位置表示法里,一个函数调用的参数值要用与函数声明相同的顺序来写出。在名称表示法里,参数是通过名称来与...

PostgreSQL表的基本概念详解

关系型数据库中的表非常类似纸面上的一张表:它由行和列组成。字段的数目和顺序是固定的,每个字段都有一个名字。行的数目是变化的(它反映了给定时刻存储的数据量)。 SQL 对表中行的顺序没有任何承诺。当读取一个表时,行将会以一个未指定的顺序出现,...

PostgreSQL缺省值详解

一个字段可以赋予缺省值。如果新创建了一个数据行,而有些字段的数值没有声明,那么这些字段将被填充为它们各自的缺省值。一条数据修改命令也可以明确地要求把一个字段设置为它的缺省值,而不用事先知道这个缺省值是什么。 如果没有明确声明缺省值,那么缺...

Postgre约束详解

数据类型是限制我们可以在表里存储什么数据的一种方法。不过,对于许多应用来说,这种限制实在是太粗糙了。比如,一个包含产品价格的字段应该只接受正数。但是没有哪种标准数据类型只接受正数。另外一个问题是你可能需要根据其它字段或者其它行的数据来约束字...

PostgreSQL系统字段详解

每个表都有几个系统字段,这些字段是由系统隐含定义的。因此,这些名字不能用于用户定义的字段名。请注意这些限制与这个名字是否关键字无关,把名字用引号括起来并不能让你逃离这些限制。你实际上不需要注意这些字段;只要知道它们存在就可以了。...

Postgre修改表详解

如果你创建了一个表后发现自己犯了一个错误,或者是应用的需求发生了变化,那么你可以删除这个表然后重新创建它。但是如果这个表已经填充了许多数据,或者该表已经被其它数据库对象引用(比如一个外键约束),那这可不是一个方便的方法。因此PostgreS...

PostgreSQL权限讲解详解

当创建一个数据库对象时,它就被赋予了所有者。这个所有者通常是执行创建语句的角色。对大多数类型的对象,初始状态只有其所有者(或者超级管理员)可以对它做任何事情。要允许其他角色使用它,必须要经过权限授予。 有好多种不同的权限:SELECT,...