📝 PostgreSQL教程

361篇技术文档
  PostgreSQL-ALIAS语法

📅  最后修改于: 2020-11-26 06:29:29        🧑  作者: Mango

您可以通过提供另一个名称ALIAS暂时重命名表或列。表别名的使用意味着在特定的PostgreSQL语句中重命名表。重命名是一个临时更改,数据库中的实际表名不会更改。列别名用于重命名表的列,以用于特定的PostgreSQL查询。句法表别名的基本语法如下-列别名的基本语法如下-例考虑以下两个表,(a)COMPANY表如下-(b)另一个表格是部门—现在,下面是表别名的用法,我们分别使用C和D作为COMP...

  PostgreSQL-触发器

📅  最后修改于: 2020-11-26 06:30:19        🧑  作者: Mango

PostgreSQL触发器是数据库回调函数,当发生指定的数据库事件时,它们会自动执行/调用。以下是有关PostgreSQL触发器的要点-可以指定PostgreSQL触发器来触发在尝试对该行进行操作之前(在检查约束并尝试执行INSERT,UPDATE或DELETE之前)操作完成后(检查约束并完成INSERT,UPDATE或DELETE之后)代替操作(在视图上进行插入,更新或删除的情况下)标记为FOR...

  PostgreSQL-索引

📅  最后修改于: 2020-11-26 06:31:02        🧑  作者: Mango

索引是特殊的查找表,数据库搜索引擎可以使用索引来加速数据检索。简而言之,索引是指向表中数据的指针。数据库中的索引与书后的索引非常相似。例如,如果要引用讨论某个主题的书中的所有页面,则必须首先引用索引,该索引按字母顺序列出所有主题,然后引用一个或多个特定的页码。索引有助于加快SELECT查询和WHERE子句的速度;但是,使用UPDATE和INSERT语句会减慢数据输入速度。可以创建或删除索引,而不会...

  PostgreSQL-ALTER TABLE命令

📅  最后修改于: 2020-11-26 06:31:35        🧑  作者: Mango

PostgreSQLALTER TABLE命令用于添加,删除或修改现有表中的列。您还可以使用ALTER TABLE命令在现有表上添加和删除各种约束。句法在现有表中添加新列的ALTER TABLE的基本语法如下-现有表中从ALTER TABLE到DROP COLUMN的基本语法如下-更改表中列的数据类型的ALTER TABLE的基本语法如下-为表中的列添加NOT NULL约束的ALTER TABLE...

  PostgreSQL-TRUNCATE TABLE命令

📅  最后修改于: 2020-11-26 06:31:56        🧑  作者: Mango

PostgreSQLTRUNCATE TABLE命令用于从现有表中删除完整数据。您也可以使用DROP TABLE命令删除完整表,但是它将从数据库中删除完整表结构,如果要存储一些数据,则需要再次重新创建该表。它在每个表上的作用与DELETE相同,但是由于它实际上并未扫描表,因此速度更快。此外,它可以立即回收磁盘空间,而不需要随后的VACUUM操作。这在大型表上最有用。句法TRUNCATE TABLE...

  PostgreSQL-视图

📅  最后修改于: 2020-11-26 06:32:29        🧑  作者: Mango

视图是伪表。也就是说,它们不是真实表;尽管如此,它们还是作为SELECT的普通表出现。视图可以表示真实表的子集,可以从普通表中选择某些列或某些行。视图甚至可以表示联接的表。由于为视图分配了单独的权限,因此您可以使用它们来限制对表的访问,以便用户仅看到表的特定行或列。一个视图可以包含一个表的所有行或一个或多个表中的选定行。可以从一个或多个表创建视图,这取决于编写的PostgreSQL查询来创建视图。...

  PostgreSQL-交易

📅  最后修改于: 2020-11-26 06:33:09        🧑  作者: Mango

事务是针对数据库执行的工作单元。事务是按逻辑顺序完成的单位或工作顺序,无论是由用户手动完成还是由某种数据库程序自动完成。事务是将一个或多个更改传播到数据库。例如,如果要创建记录,更新记录或从表中删除记录,那么您正在表上执行事务。控制事务以确保数据完整性和处理数据库错误很重要。实际上,您会将许多PostgreSQL查询合并为一个组,并将它们作为事务的一部分一起执行。交易性质事务具有以下四个标准属性,...

  PostgreSQL-锁

📅  最后修改于: 2020-11-26 06:33:45        🧑  作者: Mango

锁或排他锁或写锁可防止用户修改行或整个表。然后,在事务期间,由UPDATE和DELETE修改的行将被自动锁定。这样可以防止其他用户更改行,直到事务被提交或回滚为止。用户必须等待其他用户的唯一时间是他们尝试修改同一行时。如果他们修改不同的行,则无需等待。 SELECT查询永远不必等待。数据库自动执行锁定。但是,在某些情况下,必须手动控制锁定。可以使用LOCK命令完成手动锁定。它允许指定事务的锁类型和...

  PostgreSQL-子查询

📅  最后修改于: 2020-11-26 06:34:30        🧑  作者: Mango

子查询或内部查询或嵌套查询是另一个PostgreSQL查询中的查询,并嵌入在WHERE子句中。子查询用于返回将在主查询中使用的数据,作为进一步限制要检索的数据的条件。子查询可与SELECT,INSERT,UPDATE和DELETE语句以及=,<,>,> =,<=,IN等运算符一起使用。有一些子查询必须遵循的规则-子查询必须放在括号内。子查询在SELECT子句中只能有一个列,除非主查询中有多个列供子...

  PostgreSQL-自动增加

📅  最后修改于: 2020-11-26 06:34:55        🧑  作者: Mango

PostgreSQL的数据类型为smallserial,serial和bigserial;这些不是真正的类型,而仅仅是创建唯一标识符列的符号方便。这些类似于某些其他数据库支持的AUTO_INCREMENT属性。如果希望序列列具有唯一约束或成为主键,则必须像其他任何数据类型一样指定它。类型名称serial创建一个整数列。类型名称bigserial创建一个bigint列。如果您预计在表的生命周期内使用...

  PostgreSQL-特权

📅  最后修改于: 2020-11-26 06:35:29        🧑  作者: Mango

每当在数据库中创建对象时,就会为它分配一个所有者。所有者通常是执行创建语句的所有者。对于大多数对象,初始状态是只有所有者(或超级用户)才能修改或删除对象。要允许其他角色或用户使用它,必须授予特权或权限。PostgreSQL中的不同种类的特权是-选择,插入,更新,删除,截短,参考资料触发,创造,连接,临时,执行,并用法根据对象的类型(表,函数等),特权将应用于该对象。要将特权分配给用户,请使用GRA...

  PostgreSQL-日期/时间函数和运算符

📅  最后修改于: 2020-11-26 06:37:05        🧑  作者: Mango

我们在“数据类型”一章中讨论了日期/时间数据类型。现在,让我们看看日期/时间运算符和函数。下表列出了基本算术运算运算符的行为-OperatorExampleResult+date ‘2001-09-28’ + integer ‘7’date ‘2001-10-05’+date ‘2001-09-28’ + interval ‘1 hour’timestamp ‘2001-09-28 01:00:0...

  PostgreSQL-函数

📅  最后修改于: 2020-11-26 06:37:34        🧑  作者: Mango

PostgreSQL函数(也称为存储过程)使您能够执行通常会在数据库中的单个函数进行多个查询和往返的操作。函数允许数据库重用,因为其他应用程序可以直接与您的存储过程进行交互,而无需中间层或重复代码。可以使用您选择的语言创建函数,例如SQL,PL / pgSQL,C, Python等。句法创建函数的基本语法如下-哪里,函数名指定函数的名称。[OR REPLACE]选项允许修改现有函数。该函数必须包含...

  PostgreSQL-有用的功能

📅  最后修改于: 2020-11-26 06:37:56        🧑  作者: Mango

PostgreSQL内置函数(也称为集合函数)用于对字符串或数字数据执行处理。以下是所有通用PostgreSQL内置函数的列表-PostgreSQL COUNT函数-PostgreSQL COUNT聚合函数用于计算数据库表中的行数。PostgreSQL MAX函数-PostgreSQL MAX聚合函数使我们可以为特定列选择最高(最大值)值。PostgreSQL MIN函数-PostgreSQL M...

  PostgreSQL-C / C++接口

📅  最后修改于: 2020-11-26 06:39:32        🧑  作者: Mango

本教程将使用libpqxx库,它是PostgreSQL的官方C++客户端API。 libpqxx的源代码在BSD许可下可用,因此您可以免费下载,将其传递给他人,进行更改,出售,将其包含在自己的代码中,并与选择的任何人共享您的更改。安装可以从下载Libpqxx链接下载libpqxx的最新版本。因此,下载最新版本并按照以下步骤操作:在开始使用C / C++ PostgreSQL接口之前,请在Postg...