首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在PostgreSQL9.5中检索特定模式的所有键及其列名和表名?

在PostgreSQL9.5中,可以使用以下查询来检索特定模式的所有键及其列名和表名:

代码语言:txt
复制
SELECT
    conname AS constraint_name,
    conrelid::regclass AS table_name,
    a.attname AS column_name
FROM
    pg_constraint c
JOIN
    pg_attribute a ON a.attnum = ANY(c.conkey) AND a.attrelid = c.conrelid
JOIN
    pg_namespace n ON n.oid = c.connamespace
WHERE
    n.nspname = 'your_schema_name'
    AND c.contype = 'f'
ORDER BY
    conname;

上述查询中,将your_schema_name替换为你要检索的特定模式的名称。

这个查询使用了以下系统表:

  • pg_constraint:包含了所有约束的信息。
  • pg_attribute:包含了表的列信息。
  • pg_namespace:包含了所有命名空间(模式)的信息。

查询结果将包含以下信息:

  • constraint_name:外键约束的名称。
  • table_name:包含外键的表名。
  • column_name:外键列的名称。

这样,你就可以通过这个查询来检索特定模式的所有键及其列名和表名了。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【数据库设计SQL基础语法】--SQL语言概述--SQL基本结构语法规则(一)

标识符(Identifiers): 定义:用于标识数据库对象名称,如表列名。 规则:字母开头,可包含字母、数字、下划线等字符。 例子:列名等。...调试排错:在代码添加注释有助于在调试排错过程理解特定部分作用。 文档化:注释可以用于生成代码文档,帮助开发者了解数据库结构查询逻辑。...Tip:在实际应用,创建时可能还涉及其他约束(、唯一约束等)以及其他可选项,具体取决于数据库管理系统支持设计需求。...FROM table_name; 其中,column1, column2, ...是要检索列名,而table_name是要检索数据。...约束主键、唯一约束、外、检查约束、默认约束非空约束用于确保数据完整性一致性。数据操作语言(DML)包括插入、查询、更新和删除数据。

70410

SQL命令 INSERT(一)

这与启用PTools时生成代码相同。不同之处在于,SQLStats收集代码只为该特定语句生成。正在编译例程/类所有其他SQL语句将生成代码,就像PTools已关闭一样。...%PROFILE_ALL收集主查询模块及其所有子查询模块SQLStat。 可以按任意顺序指定多个%KEYWORD参数。多个参数由空格分隔。...参数 可以指定要直接插入到参数、通过视图插入参数或通过子查询插入参数。创建视图中所述,通过视图插入受要求和限制约束。...例如,日期存储为天数整数,时间存储为午夜起秒数,%list存储为编码字符串。大多数其他数据(字符串和数字)不需要转换;无论当前模式如何,它们都以相同格式输入存储。...特殊变量 可以在列插入以下特殊变量值: %TABLENAME或%CLASSNAME伪字段变量关键字。%TABLENAME返回当前。%CLASSNAME返回与当前对应

6K20

SqlAlchemy 2.0 中文文档(三十九)

作为最佳实践,请确保数据库“默认”模式只是一个单一称,而不是名称列表;对于属于此“默认”模式并且可以在 DDL SQL 不带模式限定命名,请将相应Table.schema类似的模式参数设置为它们默认值...一些数据库, PostgreSQL,将这个概念进一步扩展为 模式搜索路径,在特定数据库会话可以考虑多个模式名称为“隐式”;引用其中任何一个模式都不需要存在模式名称(与此同时,如果模式名称存在...有关更多信息,请参阅正在使用方言文档。 返回: 一个字典,其为二元组模式,值为表示注释字典。如果未提供模式,则模式为 None。 2.0 版新内容。...可以使用Table.schema参数为Table对象以及其他对象视图、索引序列设置“模式”,还可以使用MetaData.schema参数为MetaData对象设置默认模式。...一些数据库, PostgreSQL,将这个概念进一步发展成为模式搜索路径概念,其中一个特定数据库会话可以考虑多个模式名称为“隐式”;引用任何这些模式都不需要模式名(同时如果模式名存在也完全可以

23910

mysql 必知必会整理—sql 简单语句

SHOW COLUMNS 要求给出一个(这个例子 FROM customers),它对每个字段返回一行,行包含字段名、数据类型、是否允许NULL、信息、默认值以及其他信息(字段cust_id...许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有使用小写,这样做使代码更易于阅读调试。 这里可以养好习惯,将关键字进行大写,然后将列名进行小写。...使用空格 在处理SQL语句时,其中所有空格都被忽略。SQL语句可以在一行上给出,也可以分成许多行。多数SQL开发人员认为将SQL语句分成多行更容易阅读调试。 检索多个列: 在这里面通过逗号隔开。...虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要列通常会降低检索应用程序性能。 如果想检测出不同行,那么可以使用ditinct,这样会进行去重。...所以在写code,最好使用offset 这个关键字,工程以通用为第一要素。 有一个问题,假设有两张都有列名a1。

56320

Oracle查询用户所有

,视图等 select * from user_tab_comments -- 查询本用户,视图等 select * from all_col_comments --查询所有用户列名注释.... select * from user_col_comments -- 查询本用户列名注释 select * from all_tab_columns --查询所有用户列名等信息(详细但是没有备注...如何在oracle查询所有用户、主键名称、索引、外等 1、查找所有索引(包括索引,类型,构成列): select t....4、查找(包括名称,引用对应键名,下面是分成多步查询): select * from user_constraints c where c.constraint_type...= 外键名称 查询引用列名:select * from user_cons_columns cl where cl.constraint_name = 外引用键名 5、查询所有及其属性

3.3K10

MySql事务、索引备份

(1)概念 索引是一种数据库对象,是对数据库中一列或多列值进行排序一种结构,使用索引可快速访问数据库特定信息,也就是提高数据查询效率。...此外,索引还可以加速之间连接,实现之间参照完整性;使用分组排序子句进行数据检索时,可以显著减少分组排序时间。...       #  PRIMARY KEY(`GradeID`)    ); (2)唯一索引(unique) 唯一是避免同一个某数据列值重复,与主键不同只能有一个不同,唯一可有多个。... InnoDB 存储引擎均支持全文索引; (3)只有字段数据类型为 char、varchar、text 及其系列才可以建全文索引; (4)适用于较大数据集; (5)对于大容量数据,生成全文索引是一个非常消耗时间非常消耗硬盘空间做法...(1)创建索引 直接创建 CREATE INDEX 索引名称 ON ( 字段名(长度) ); 创建时添加; 建后追加 ALERT TABLE ADD  索引类型 (数据列名); (2)删除索引

50020

01-03章 检索排序数据第1章 了解SQL第2章 检索数据第3章

(table) 某种特定类型数据结构化清单,存储在数据是同一种类型数据或清单。 数据库每个都有唯一名字标识自己,实际上是数据库组合。...特性定义数据在如何存储,存储哪类数据,数据如何分解,各部分信息如何命名等。 模式(schema)用来描述数据库特定,也可以用来描述整个数据库(其中表关系)。...屏幕快照 2018-05-28 06.24.07.png 说明 如果没有要求排序查询结果,则返回数据没有特定顺序。 以上SELECT语句将返回所有行,数据没有过滤。...SQL关键字应大写,列名应小写。 2.3 检索多个列 在SELECT关键字后给出多个列名列名之间必须以逗号分隔。...因此,表示(把上面的价格值显示为正确十进制数值货币金额)一般在显示该数据应用程序规定。 2.4 检索所有列 SELECT语句可以检索所有的列,在实际列名位置使用星号(*)通配符。

2.6K10

数据库系统与数据挖掘区别_数据挖掘与大数据关系

3、基本创建、修改撤消 基本创建:(可理解为建立结构) CREAT TABLE SQL 模式名.基本 (列名,类型, …… 完整性约束…) 完整性约束包括主键子句(PRIMARY KEY...2、数据删除: DELETE FROM 基本 [WHERE条件表达式] 3、数据修改: UPDATE 基本 SET 列名=值表达式,[列名=值表达式…] [WHERE 条件表达式] 这一节关于增删改操作要和前面关于数据库模式...还有应该了解是,函数依赖是否成立是不可证明,只能通过属性含义来判断,上述是一个关系实例,可以一条条进行验证,但是对于模式设计来说,开始时并没有数据插入,我们只能从属性含义出发,这个关系模式保存了全校所有教师课程对应关系...3、基本创建、修改撤消 基本创建:(可理解为建立结构) CREAT TABLE SQL 模式名.基本 (列名,类型, …… 完整性约束…) 完整性约束包括主键子句(PRIMARY KEY...还有应该了解是,函数依赖是否成立是不可证明,只能通过属性含义来判断,上述是一个关系实例,可以一条条进行验证,但是对于模式设计来说,开始时并没有数据插入,我们只能从属性含义出发,这个关系模式保存了全校所有教师课程对应关系

1.2K60

MySQL 系列教程之(七)DQL:从 select 开始丨【绽放吧!数据库】

如果在最后一个列名后加了逗号,将出现错误。 检索所有列 select * from user 使用通配符 一般,除非你确实需要每个列,否则最好别使用*通配符。...使用子句次序不对将产生错误消息 过 滤 数 据 WHERE 数据库一般包含大量数据,很少需要检索所有行。 通常只会根据特定操作或报告需要提取数据子集。...常见用途包括在实际列名包含不符合规定字符(空格)时重新命名它,在原来名字含混或容易误解时扩充它,等等。...使用这些函数,MySQL查询可用于检索数据,以便分析报表生成 确定中行数(或者满足某个条件或包含某个特定行数)。 获得中行组。...这使我们能够对行进行计数,计算与平均数,获得最大和最小值而不用检索所有数据 目前为止所有计算都是在所有数据或匹配特定WHERE子句数据上进行

3.6K43

索引恢复备份

(Consistency) 隔离性(Isolation) 持久性(Durability) 改变自动提交模式 MySQL默认是自动提交 SET AUTOCOMMIT = 0;   # 关闭自动提交模式...,实现之间参照完整性 使用分组排序子句进行数据检索时,可以显著减少分组排序时间 全文检索字段进行搜索优化 分类 主键索引(PRIMARY KEY) 作用 某一个属性或属性组合能唯一标识一条记录...特点 最常见索引类型 确保数据记录唯一性 确定特定数据记录在数据库位置 唯一索引(UNIQUE) 作用 避免同一个某数据列值重复 常规索引(INDEX) 作用 快速定位特定数据 index...key关键字都可设置常规索引 应加在查找条件字段 不宜添加太多常规索引,影响数据插入、删除修改操作 全文索引(FULLTEXT) 一般不用 管理索引 创建索引 ALERT TABLE ADD...索引类型(数据列名) 删除索引 DROP  INDEX 索引 ON   ALTER TABLE   DROP  INDEX 索引 ALTER TABLE   DROP  PRIMARY

48520

面向对象(二十九)-MySql

其他类型数据存储,可以使用,获取文件系统上文件或内存哈希,但数据并写入不会那么快,但这些类型系统易于使用。...所以今天,我们使用关系数据库管理系统(RDBMS)来存储管理体积庞大数据。这就是所谓关系数据库,因为所有的数据存储到不同关系建立使用主键或外等其它。...向插入数据 insert 语句可以用来将一行或多行数据插到数据库, 使用一般形式如下: insert [into] [(列名1, 列名2, 列名3, ...)] values (值1,...查询数据 select 语句常用来根据一定查询规则到数据库获取数据, 其基本用法为: select 列名称 from 名称 [查询条件]; 例如要查询 students 所有学生名字年龄..., 语句: select * from students; 2.1按特定条件查询: where 关键词用于指定查询条件, 用法形式为: select 列名称 from 名称 where 条件; 以查询所有性别为女信息为例

1.6K10

MySQL(二)数据检索过滤

column from table; 该SQL语句检索结果将返回所有行,数据没有过滤(过滤将得出结果集一个子集),也没有排序(没有明确排序查询结果,则返回数据顺序没有特殊意义,只要返回相同数目的行...; 在检索多个列时,要在列名之间加上逗号(,),最后一个列名不用加 SQL语句一般返回原始、无格式数据,数据格式只是一个表示问题,而不是检索问题;因此表示方式一般在显示该数据应用程序规定,一般很少使用实际检索原始数据...(没有应用程序提供格式) 3、检索所有列 select * from table; 给定通配符*,则检索数据时返回所有列 一般除非确实需要检索每个列,否则最好别使用*通配符;虽然使用*可能自己比较省事...) 6、使用完全限定 select table.column from database.table; 该SQL语句中检索以及列名是完全限定 二、排序检索数据 子句(clause):SQL...1告诉MySQL只返回一行数据 三、过滤数据 数据库包含大量数据,很少需要检索所有航,通常会根据特定操作或报告需要提取数据子集; 只检索所需数据需要指定搜索条件(search criteria

4.1K30

MySQL 教程上

如何测试计算 SELECT提供了测试试验函数与计算一个很好办法。虽然SELECT通常用来从检索数据,但可以省略FROM子句以便简单地访问处理表达式。...INSERT SELECT 列名 为简单起见,这个例子在 INSERT SELECT 语句中使用了相同列名。但是,不一定要求列名匹配。事实上,MySQL 甚至不关心SELECT 返回列名。...删除内容而不是 DELETE 语句从删除行,甚至是删除所有行。但是,DELETE不删除本身。 更快删除 如果想从删除所有行,不要使用 DELETE。...CREATE TABLE ; 修改表字段 ALERT table ADD 列名 列类型; // 添加新列 ALERT table DROP COLUMN 列名; // 删除列 ALERT...table MODIFY 列名 列类型; // 仅修改列类型 ALERT table CHANGE 原列名 新类型 // 修改列类型及名称 FIRST AFTER 关键字可用于

3.4K10

【MySQL】:约束全解析

本文将深入介绍MySQL各种约束类型及其使用方法,包括非空约束、唯一约束、主键约束、默认约束、检查约束约束,以及如何在创建修改时添加约束,以及外约束相关知识。 一....[CONSTRAINT] [外键名称] FOREIGN KEY (外字段名) REFERENCES 主表 (主表列名) ); ALTER TABLE ADD CONSTRAINT 外键名称 FOREIGN...KEY (外字段名)REFERENCES 主表 (主表列名) ; 删除外 ALTER TABLE DROP FOREIGN KEY 外键名称; 3.3 删除/更新行为 添加了外之后,再删除父数据时产生约束行为...(外字段) REFERENCES 主表 (主表字段名) ON UPDATE CASCADE ON DELETE CASCADE; ️全篇总结 本文详细介绍了MySQL各种约束类型及其语法,包括约束概念...通过学习本文,读者可以掌握如何在数据库设计管理灵活运用约束,从而保证数据完整性准确性,提高数据库稳定性安全性。

20910

SQL笔记(2)——MySQL操作与索引

可以使用DESCRIBE命令,该命令可以显示出所有名称、数据类型、默认值、空值约束、约束等信息。...注意:column_type是必须。在SQL,修改某一列数据类型是一个重要操作,因为数据类型决定了该列可以存储数据种类范围。...Q&A 结构Extra是什么意思 MySQL结构Extra字段是用于显示额外信息注释,该字段提供了一些重要信息,例如自增、默认值、主键信息等。...MUL:非唯一索引,该索引包括多个重复键值时,Key属性值就会显示为mul。 UNI: 表示该列是唯一。唯一也可以用于唯一标识每一行数据,但是它允许NULL值。一个可以有多个唯一。...它可以提高数据库查询速度,基本原理是使用空间换取时间,将索引存储在磁盘上文件以加快读写速度。使用索引可以对表一列或多列值进行排序,从而快速访问特定信息。

1.6K20

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

目录 检索 过滤检索结果 数据汇总处理 分组 给检索结果排序 操作 插入数据 更新删除数据 子查询-迭代查询 联结-关联多个 组合查询 视图 其它 检索 检索单个列: SELECT 列名...FROM ; 检索多个列: SELECT 列名,列名,列名 FROM ; 检索所有列:(尽量不用) SELECT * FROM ; 只检索某列里不重复项: SELECT...DISTINCT 列名 (如果有两列或以上,需要这些列组合起来是不重复) FROM ; 检索指定行数: SELECT 列名 FROM LIMIT 5 OFFSET n; (mySQL...WHERE prod_price = 3.49;(字符串比较加单引号,数值不用) 查找列名为prod_name列名为prod_price两列,检索其中prod_price = 3.49...FOREIGN KEY 外约束,一个 FOREIGN KEY 指向另一个 PRIMARY KEY。 CHECK 检查约束,用于限制列范围。

2.2K20

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

SQL 目录 检索 过滤检索结果 数据汇总处理 分组 给检索结果排序 操作 插入数据 更新删除数据 子查询-迭代查询 联结-关联多个 组合查询 视图 其它 检索 检索单个列: SELECT 列名...FROM ; 检索多个列: SELECT 列名,列名,列名 FROM ; 检索所有列:(尽量不用) SELECT * FROM ; 只检索某列里不重复项: SELECT...DISTINCT 列名 (如果有两列或以上,需要这些列组合起来是不重复) FROM ; 检索指定行数: SELECT 列名 FROM LIMIT 5 OFFSET n; (MySQL,选第...WHERE prod_price = 3.49;(字符串比较加单引号,数值不用) 查找列名为prod_name列名为prod_price两列,检索其中prod_price = 3.49...FOREIGN KEY 外约束,一个 FOREIGN KEY 指向另一个 PRIMARY KEY。 CHECK 检查约束,用于限制列范围。

1.5K10

DataGrip 2023.3 新功能速递!

该可视化功能可用于所有三种类型网格: 主选项卡:在打开、视图或 CSV 文件时,在分割模式下显示图表。 结果选项卡:在 服务 工具窗口中观察查询结果时,可以显示图表而不是网格。...如果需要编辑本身,请单击 编辑 按钮: 将出现在右侧树形 UI 。该 UI 完全重复 修改对象 UI,使您可以以各种方式操作及其对象。 4 自动生成 此按钮会自动生成来自源文件。...在我们处理有关新 UI 所有反馈之前,此选项将一直可用。 7 与数据工作 数据编辑器可定制数字格式 在数据编辑器,现在可以更灵活地查看数字。最重要是,可以指定小数分组分隔符。...对具有索引进行了内省。 内省 内省计划程序 现在可为每个数据源设置内省间隔。...MS SQL 索引、外、检查约束触发器。 Oracle 、唯一、外、检查约束、触发器、空间用户帐户。

56620

数据库系统:第三章 关系数据库标准语言SQL

各种复杂条件检索连接查找,模糊查找,分组查找,嵌套查找等 – 各种聚集操作,求平均、求和、…等,分组聚集,分组过滤等 – DCL语句引导词: Grant,Revoke 安全性控制:授权撤消授权...(Instance)可以建立多个数据库 一个数据库可以建立多个模式 一个模式下通常包括多个、视图索引等数据库对象 3.2.1 模式定义与删除 问:什么是模式?...3.2.2 基本定义、删除修改 1.定义基本 CREATE TABLE ( [ ] [, [ <...模式 每个基本都属于某个模式,一个模式包含多个基本,定义基本有三种方式定义其所属模式: 在明显给出模式名 创建模式时同时创建 设置所属模式,在创建时不必给出模式名,类似缺省。...需要配合比较运算符使用,: > ANY 大于子查询结果某个值 > ALL 大于子查询结果所有值 例:查询其他系中比信息系任意一个(其中某一个)学生年龄小学生姓名年龄 SELECT Sname

2.6K10

MySQL 从入门到实践,万字详解!

MySQL 简单使用 2.1 数据库相关术语 数据库相关概念术语: 数据库(database) 保存有组织数据容器; (table) 某种特定类型数据结构化清单; 模式(schema) 关于数据库布局及特性信息...供应商 vend_id 一一对应,这就是外。...用于在数值数据上进行算术操作数值函数,返回绝对值,进行代数运算。 用于处理日期时间值并从这些值中提取特定成分日期时间函数,例如,返回两个日期之差,检查日期有效性等。...,任何时候只要列名可能有多义性,就必须使用完全限定语法(列名由一个句点分隔)。...update 语句可以使用子查询,用 select 语句检索数据来更新列数据。 12.5 删除数据 delete delete 语句可以用来从删除特定行或者所有行。

2K30
领券