摘要: 修改已经存储在数据库中的数据的行为叫做更新。你可以更新单独的一行,也可以更新表中所有的行,还可以更新其中的一部分行。我们可以独立地更新每个字段,而其它的字段则不受影响。 要更新现有的行,使用UPDATE命令。这需要三种信息: 表的名字和要更新的字段名 字段的新值 要更新哪些行 SQL 通常并不为数据 阅读全文
posted @ 2016-06-27 22:01 韦宇 阅读(4885) 评论(0) 推荐(0) 编辑
摘要: 在创建完一个表的时候,它里面没有数据。在数据库可以有点用处之前要做的第一件事就是向里面插入数据。数据在概念上是每次插入一行。我们当然可以每次插入多行,但是确实没有办法插入少于一行的数据。即使你只知道几个字段的数值,那么你也必须创建一个完整的行。 使用INSERT命令创建一个新行。这条命令要求提供表名 阅读全文
posted @ 2016-06-22 00:01 韦宇 阅读(12561) 评论(0) 推荐(0) 编辑
摘要: 如果你创建了一个包含许多表,并且带有外键约束、视图、触发器、函数等复杂的数据库结构。那么你就会在对象之间隐含地创建了一个依赖性的网络。比如,一个带有外键约束的表依赖于它所引用的表。 为了保证整个数据库结构的完整性,PostgreSQL 保证你无法删除那些还被其它对象依赖的对象。比如,试图删除在里被订 阅读全文
posted @ 2016-06-20 20:45 韦宇 阅读(562) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL实现了SQL/MED规范的一部分,允许使用规则的SQL查询访问驻留在PostgreSQL外部的数据。这样的数据被称为外部数据。(请注意这种使用不能同外键混淆,外键是数据库的一种约束类型。) 外部数据是通过外部数据封装器的帮助来访问的。一个外部数据封装器是一个可以与外部数据源沟通的 阅读全文
posted @ 2016-06-20 20:41 韦宇 阅读(592) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL支持基本的表分区功能。本文描述为什么需要表分区以及如何在数据库设计中使用表分区。 1. 概述 分区的意思是把逻辑上的一个大表分割成物理上的几块。分区可以提供若干好处: 某些类型的查询性能可以得到极大提升。特别是表中访问率较高的行位于一个单独分区或少数几个分区上的情况下。分区可以减 阅读全文
posted @ 2016-06-20 20:38 韦宇 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL实现了表继承,这个特性对数据库设计人员来说是一个很有效的工具。SQL99 及以后的标准定义了类型继承特性,和我们在这里描述的很多特性有区别。 让我们从一个例子开始:假设我们试图制作一个城市数据模型。每个州都有许多城市,但是只有一个首府。我们希望能够迅速检索任何州的首府。这个任务可 阅读全文
posted @ 2016-06-15 21:16 韦宇 阅读(6224) 评论(1) 推荐(0) 编辑
摘要: 一个PostgreSQL数据库集群包含一个或多个已命名数据库。用户和用户组在整个集群范围内是共享的,但是其它数据并不共享。任何与服务器连接的客户都只能访问那个在连接请求里声明的数据库。 注意: 集群中的用户并不一定要有访问集群内所有数据库的权限。共享用户名的意思是不能有重名用户。假定同一个集群里有两 阅读全文
posted @ 2016-06-15 21:09 韦宇 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 当创建一个数据库对象时,它就被赋予了所有者。这个所有者通常是执行创建语句的角色。对大多数类型的对象,初始状态只有其所有者(或者超级管理员)可以对它做任何事情。要允许其他角色使用它,必须要经过权限授予。 有好多种不同的权限:SELECT, INSERT, UPDATE, DELETE, TRUNCAT 阅读全文
posted @ 2016-06-13 22:07 韦宇 阅读(4948) 评论(0) 推荐(0) 编辑
摘要: 如果你创建了一个表后发现自己犯了一个错误,或者是应用的需求发生了变化,那么你可以删除这个表然后重新创建它。但是如果这个表已经填充了许多数据,或者该表已经被其它数据库对象引用(比如一个外键约束),那这可不是一个方便的方法。因此PostgreSQL提供了一族命令用于修改现有表。请注意它在概念上和修改一个 阅读全文
posted @ 2016-06-13 21:57 韦宇 阅读(526) 评论(0) 推荐(1) 编辑
摘要: 每个表都有几个系统字段,这些字段是由系统隐含定义的。因此,这些名字不能用于用户定义的字段名。请注意这些限制与这个名字是否关键字无关,把名字用引号括起来并不能让你逃离这些限制。你实际上不需要注意这些字段;只要知道它们存在就可以了。 oid 行对象标识符(对象ID)。这个字段只有在创建表的时候使用了WI 阅读全文
posted @ 2016-06-13 21:52 韦宇 阅读(1207) 评论(0) 推荐(0) 编辑