获取schema所有表获取某表所有字段

2024-06-20 09:58
文章标签 所有 获取 schema 某表

本文主要是介绍获取schema所有表获取某表所有字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注:以下为postgresql,其他数据库的略过哈

\d[+] table_name 查看【详细】表结构

要获取某个schame下的所有表,或者获取某个表的所有字段,需要依赖这两个表:
information_schema.tables 与 information_schema.columns

第一个表存放的是所有schema下所有表的信息

\d information_schema.tables View "information_schema.tables"Column            |               Type                | Modifiers 
------------------------------+-----------------------------------+-----------table_catalog                | information_schema.sql_identifier | table_schema                 | information_schema.sql_identifier | table_name                   | information_schema.sql_identifier | table_type                   | information_schema.character_data | self_referencing_column_name | information_schema.sql_identifier | reference_generation         | information_schema.character_data | user_defined_type_catalog    | information_schema.sql_identifier | user_defined_type_schema     | information_schema.sql_identifier | user_defined_type_name       | information_schema.sql_identifier | is_insertable_into           | information_schema.yes_or_no      | is_typed                     | information_schema.yes_or_no      | commit_action                | information_schema.character_data | 

第二个表是存放所有schema下所有表的字段名称

\d information_schema.columnsView "information_schema.columns"Column          |                Type                | Modifiers 
--------------------------+------------------------------------+-----------table_catalog            | information_schema.sql_identifier  | table_schema             | information_schema.sql_identifier  | table_name               | information_schema.sql_identifier  | column_name              | information_schema.sql_identifier  | ordinal_position         | information_schema.cardinal_number | column_default           | information_schema.character_data  | is_nullable              | information_schema.yes_or_no       | data_type                | information_schema.character_data  | character_maximum_length | information_schema.cardinal_number | character_octet_length   | information_schema.cardinal_number | numeric_precision        | information_schema.cardinal_number | numeric_precision_radix  | information_schema.cardinal_number | numeric_scale            | information_schema.cardinal_number | datetime_precision       | information_schema.cardinal_number | interval_type            | information_schema.character_data  | interval_precision       | information_schema.cardinal_number | character_set_catalog    | information_schema.sql_identifier  | character_set_schema     | information_schema.sql_identifier  | character_set_name       | information_schema.sql_identifier  | collation_catalog        | information_schema.sql_identifier  | collation_schema         | information_schema.sql_identifier  | collation_name           | information_schema.sql_identifier  | domain_catalog           | information_schema.sql_identifier  | domain_schema            | information_schema.sql_identifier  | domain_name              | information_schema.sql_identifier  | udt_catalog              | information_schema.sql_identifier  | udt_schema               | information_schema.sql_identifier  | udt_name                 | information_schema.sql_identifier  | scope_catalog            | information_schema.sql_identifier  | scope_schema             | information_schema.sql_identifier  | scope_name               | information_schema.sql_identifier  | maximum_cardinality      | information_schema.cardinal_number | dtd_identifier           | information_schema.sql_identifier  | is_self_referencing      | information_schema.yes_or_no       | is_identity              | information_schema.yes_or_no       | identity_generation      | information_schema.character_data  | identity_start           | information_schema.character_data  | identity_increment       | information_schema.character_data  | identity_maximum         | information_schema.character_data  | identity_minimum         | information_schema.character_data  | identity_cycle           | information_schema.yes_or_no       | is_generated             | information_schema.character_data  | generation_expression    | information_schema.character_data  | is_updatable             | information_schema.yes_or_no       | 

跟据这两张表的字段,要获取某个schema的所有表及获取某表的所有字段就会变得很容易。

获取某个schame下的所有表:

select table_name from information_schema.tables where table_schema='schema_name' and table_type='table_name';

获取某表所有字段

select column_name from information_schema.columns where table_schema='schema_name' and table_name='table_name'

获取某表存放文本的字段

select column_name,data_type from information_schema.columns where table_schema='table_schema' and table_name='table_name' and data_type in ('character varying', 'text');

这篇关于获取schema所有表获取某表所有字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1077812

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

MYSQL中information_schema的使用

《MYSQL中information_schema的使用》information_schema是MySQL中的一个虚拟数据库,用于提供关于MySQL服务器及其数据库的元数,这些元数据包括数据库名称、表... 目录关键要点什么是information_schema?主要功能使用示例mysql 中informa