摘要: 创建表时,它不包含任何数据。在数据库发挥作用之前要做的第一件事就是插入数据。数据一次插入一行。您还可以在单​​个命令中插入多行,但不能插入不完整的行。即使您只知道某些列值,也必须创建完整的行。 要创建新行,请使用 INSERT 命令。该命令需要表名和列值。例如: CREATE TABLE produ 阅读全文
posted @ 2022-09-03 22:42 shigp1 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 分区是指将逻辑上是一张大表拆分为较小的物理块。分区可以提供几个好处: 在某些情况下,查询性能可以显着提高,尤其是当表的大部分访问量很大的行位于单个分区或少数几个分区中时。分区有效地替代了较高的树级别索引,使得索引的大量使用部分更有可能适合内存。 当查询或更新访问单个分区的大部分时,可以通过使用该分区 阅读全文
posted @ 2022-09-03 20:57 shigp1 阅读(4756) 评论(0) 推荐(0) 编辑
摘要: 让我们从一个例子开始:假设我们正在尝试为城市构建一个数据模型。每个州都有许多城市,但只有一个首府。我们希望能够快速检索任何特定州的首都。这可以通过创建两张表来完成,一张用于州首府,一张用于非首都城市。但是,当我们想要查询一个城市的数据时会发生什么,无论它是否是首都?继承特性可以帮助解决这个问题。我们 阅读全文
posted @ 2022-09-03 15:08 shigp1 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 数据库包含一个或多个命名模式,这些模式又包含表。模式还包含其他类型的命名对象,包括数据类型、函数和运算符。相同的对象名称可以在不同的模式中使用而不会发生冲突;例如,schema1 和 myschema 都可以包含名为 mytable 的表。与数据库不同,模式不是严格分开的:用户可以访问他们连接到的数 阅读全文
posted @ 2022-09-03 14:33 shigp1 阅读(3093) 评论(0) 推荐(0) 编辑
摘要: 除了通过 GRANT 提供的 SQL 标准权限系统之外,表还可以具有行安全策略,这些策略基于每个用户来限制正常查询可以返回哪些行,或者可以通过数据修改命令插入、更新或删除哪些行。此功能也称为行级安全性。默认情况下,表没有任何策略,因此如果用户根据 SQL 权限系统对表具有访问权限,则表中的所有行都可 阅读全文
posted @ 2022-09-03 14:04 shigp1 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 当一个对象被创建时,它被分配了一个所有者。所有者通常是执行创建语句的角色。对于大多数类型的对象,初始状态是只有所有者(或超级用户)可以对对象执行任何操作。要允许其他角色使用它,必须授予权限。 有不同种类的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENC 阅读全文
posted @ 2022-09-03 10:52 shigp1 阅读(1738) 评论(0) 推荐(0) 编辑
摘要: 当您创建一个表并意识到您犯了一个错误,或者应用程序的需求发生变化时,您可以删除该表并重新创建它。但是,如果表已经被数据填充,或者表被其他数据库对象引用(例如外键约束),这不是一个方便的选择。因此 PostgreSQL 提供了一系列命令来修改现有的表。请注意,这在概念上与更改表中包含的数据不同:这里我 阅读全文
posted @ 2022-09-03 09:53 shigp1 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 每个表都有几个由系统隐式定义的系统列。因此,这些名称不能用作用户定义列的名称。(请注意,这些限制与名称是否是关键字是分开的;引用名称不会让您逃避这些限制。)您实际上不需要关心这些列;只知道它们存在。 tableoid 包含此行的表的 OID。该列对于从分区表或继承层次结构中进行选择的查询特别方便,因 阅读全文
posted @ 2022-09-02 22:22 shigp1 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 一、类型转换的方式 CAST ( expression AS type ) expression::type typename ( expression ) 二、生成列 生成的列是始终从其他列计算的特殊列。因此,对于列,视图对于表是一样的。生成的列有两种:存储列和虚拟列。存储生成的列在写入(插入或更 阅读全文
posted @ 2022-09-02 21:33 shigp1 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一、标识符 标识符由字母或下划线()开头,标识符中的后续字符可以是字母、下划线、数字或美元符号。请注意,根据SQL标准的字母,标识符中不允许使用美元符号,因此使用它们可能会使应用程序的可移植性降低。 标识符最长为NAMEDATALEN-1,NAMEDATALEN默认是64,因此标识符最长为63字节。 阅读全文
posted @ 2022-08-31 20:52 shigp1 阅读(394) 评论(0) 推荐(0) 编辑