获取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获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值