当前位置: 网站首页 >
postgresql
- PostgreSQL教程-数据定义-修改表5.6. 修改表当我们已经创建了一个表并意识到犯了一个错误或者应用需求发生改变时,我们可以移除表并重新创建它。但如果表中已经被填充数据或者被其他数据库对象引用(例如有一个外键约束),这种做法就显得很不方...[详细]
- PostgreSQL教程-数据定义-系统列5.5. 系统列每一个表都拥有一些由系统隐式定义的system columns。因此,这些列的名字不能像用户定义的列一样使用(注意这种限制与名称是否为关键词没有关系,即便用引号限定一个名称也无法绕过这种限制)。 事...[详细]
- PostgreSQL教程-数据定义-排他约束5.4.6. 排他约束排他约束保证如果将任何两行的指定列或表达式使用指定操作符进行比较,至少其中一个操作符比较将会返回否或空值。语法是:CREATE TABLE circles (c circle,EXCLUDE USING gist (c WITH &&am...[详细]
- PostgreSQL教程-数据定义-外键约束5.4.5. 外键约束一个外键约束指定一列(或一组列)中的值必须匹配出现在另一个表中某些行的值。我们说这维持了两个关联表之间的引用完整性。例如我们有一个使用过多次的产品表:CREATE TABLE products (product_n...[详细]
- PostgreSQL教程-数据定义-主键约束5.4.4. 主键约束一个主键约束表示可以用作表中行的唯一标识符的一个列或者一组列。这要求那些值都是唯一的并且非空。因此,下面的两个表定义接受相同的数据:CREATE TABLE products (product_no integer UNIQUE...[详细]
- PostgreSQL教程-数据定义-唯一约束5.4.3. 唯一约束唯一约束保证\在一列中或者一组列中保存的数据在表中所有行间是唯一的。写成一个列约束的语法是:CREATE TABLE products (product_no integer UNIQUE,name text,price numeric);写成一个表约束...[详细]
- PostgreSQL教程-数据定义-非空约束5.4.2. 非空约束一个非空约束仅仅指定一个列中不会有空值。语法例子:CREATE TABLE products (product_no integer NOT NULL,name text NOT NULL,price numeric);一个非空约束总是被写成一个列约束。一个非空约...[详细]
- PostgreSQL教程-数据定义-检查约束5.4.1. 检查约束一个检查约束是最普通的约束类型。它允许我们指定一个特定列中的值必须要满足一个布尔表达式。例如,为了要求正值的产品价格,我们可以使用:CREATE TABLE products (product_no integer,name t...[详细]
- PostgreSQL教程-数据定义-生成列5.3. 生成列生成的列是一个特殊的列,它总是从其他列计算而来。因此说,它对于列就像视图对于表一样。生成列有两种:存储列和虚拟列。 存储生成列在写入(插入或更新)时计算,并且像普通列一样占用存储空间。虚...[详细]
- PostgreSQL教程-数据定义-默认值5.2. 默认值一个列可以被分配一个默认值。当一个新行被创建且没有为某些列指定值时,这些列将会被它们相应的默认值填充。一个数据操纵命令也可以显式地要求一个列被置为它的默认值,而不需要知道这个值到底是什...[详细]
- PostgreSQL教程-数据定义-表基础5.1. 表基础关系型数据库中的一个表非常像纸上的一张表:它由行和列组成。列的数量和顺序是固定的,并且每一列拥有一个名字。行的数目是变化的,它反映了在一个给定时刻表中存储的数据量。SQL并不保证表中行的...[详细]