SQL查询表字段信息详细图文教程

 更新时间:2024年03月22日 10:19:27   作者:王林-wlin  
最近工作用到SQL语句查询表中所有字段的名称,下面这篇文章主要给大家介绍了关于SQL查询表字段信息的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

一、MySQL

(一)查询所有表名

查询指定数据库下表名

select table_name,table_comment from information_schema.tables where table_schema='grandly_forum_db'

在这里插入图片描述

(二)查询表下所有字段

查询指定数据库下表的字段信息

select 
a.table_schema,
a.table_name,
b.table_comment 表说明,
a.COLUMN_NAME 字段名,
a.column_comment 字段说明,
a.column_type 字段类型,
a.column_key 约束 from  information_schema.columns a
join information_schema.TABLES b on a.table_name = b.TABLE_NAME
where a.table_schema = '数据库名'
and a.table_name = '表名';

二、Oracle

(一)查询表下所有字段

SELECT
DISTINCT
c.owner 用户,
c.table_name 英文表名 ,
t.comments 中文表名称,
cc.column_name 字段名,
cc.comments 字段注释 ,
c.data_type || '(' || c.data_length || ')' 字段类型及长度
from
dba_tab_columns c
join dba_col_comments cc on c.table_name = cc.table_name
and c.column_name = cc.column_name
join dba_tab_comments t on c.table_name = t.table_name
where 
c.owner = 'YZZX'
-- AND t.comments like '%船舶信息%'
AND c.table_name =  'SHX_SHIPCERT'
order BY
cc.column_name 

(二)查询库下表字段信息

with t1 as(
SELECT
 t.OWNER owner_name,
 t.table_name,
 t.column_name,
 f.comments,
 t.data_type,
 t.data_length
FROM all_tab_columns t 
JOIN all_col_comments f ON t.table_name = f.table_name AND t.column_name = f.column_name
ORDER BY 
t.table_name,
t.column_name
),
t2 as (
select col.column_name pk,col.table_name
from user_constraints con,user_cons_columns col
where
con.constraint_name=col.constraint_name and con.constraint_type='P'
)

select 
distinct 
t1.owner_name 用户名,
t1.table_name 表名,
t2.pk 主键,
t1.column_name 字段名,
t1.comments 字段注释,
t1.data_type 数据类型,
t1.data_length 长度
from t1
join t2 on t1.table_name = t2.table_name
where t1.owner_name = 'ZHZFHZK' and t1.comments is not null
order by t1.table_name,column_name

(三)查询用户下表的外建等信息

 select distinct 
 c.owner 用户名,
 CONSTRAINT_TYPE 键类型,
 c.TABLE_NAME 子表名,
 c.CONSTRAINT_NAME 子表键名称,
 d.TABLE_NAME 父表名称,
 c.R_CONSTRAINT_NAME 父表键名称,
 d.COLUMN_NAME 字段名称
 from all_constraints c 
  join all_cons_columns d on c.constraint_type = 'R' and c.R_CONSTRAINT_NAME = d.CONSTRAINT_NAME
 where c.owner = 'SCOTT' ;

(四)oracle查询用户下表外建信息

SELECT
    t1.table_name AS table_name,
    t2.table_name AS f_table_name,
    t1.column_name,
    t2.column_name as f_column_name
FROM
    all_constraints cons
    JOIN all_cons_columns col1 ON cons.owner = col1.owner AND cons.constraint_name = col1.constraint_name
    JOIN all_tab_columns t1 ON cons.owner = t1.owner AND col1.table_name = t1.table_name AND col1.column_name = t1.column_name
    JOIN all_cons_columns col2 ON cons.owner = col2.owner AND cons.r_owner = col2.owner AND cons.r_constraint_name = col2.constraint_name
    JOIN all_tab_columns t2 ON cons.r_owner = t2.owner AND col2.table_name = t2.table_name AND col2.column_name = t2.column_name
WHERE
   cons.constraint_type = 'R' AND t1.owner = 'WANGLIN'
ORDER BY t1.table_name;

三、Sql Server

查询数据库(Databases)名称: 

SELECT name FROM master.dbo.sysdatabases WHERE status <> 512

查询数据表(Tables)名称:

SELECT name FROM dbo.sysobjects WHERE OBJECTPROPERTY(id,N'IsUserTable') = 1 AND name <> 'dtproperties'

查询带Schema 的数据表(Tables)名称:

SELECT b.name + '.' + a.name AS name FROM sysobjects a INNER JOIN sys.schemas b ON a.uid=b.schema_id WHERE OBJECTPROPERTY(id,N'IsUserTable') = 1 AND a.name <> 'dtproperties'

查询数据表(Tables)中的字段(Columns)名称:

SELECT * FROM dbo.syscolumns WHERE id=OBJECT_ID(N'[Production].[Product]') ORDER BY colid

或者

Select name from syscolumns Where ID=OBJECT_ID('tName') 

总结 

到此这篇关于SQL查询表字段信息的文章就介绍到这了,更多相关SQL查询表字段信息内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Mysql中复制详细解析

    Mysql中复制详细解析

    这篇文章主要介绍了Mysql中复制详细解析,从基本概念、用途、实现方法以及集中模式进行了介绍,然后分享了具体实现代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Mysqlslap MySQL压力测试工具 简单教程

    Mysqlslap MySQL压力测试工具 简单教程

    Mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别
    2011-10-10
  • Centos下 修改mysql密码的方法

    Centos下 修改mysql密码的方法

    这篇文章主要介绍了Centos下 修改mysql密码的方法,需要的朋友可以参考下
    2017-02-02
  • mysql8.0.20数据目录迁移的方法

    mysql8.0.20数据目录迁移的方法

    这篇文章主要介绍了mysql8.0.20数据目录迁移的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • MySQL中的数据类型binary和varbinary详解

    MySQL中的数据类型binary和varbinary详解

    binary和varbinary与char和varchar类型有点类似,不同的是binary和varbinary存储的是二进制的字符串,而非字符型字符串。下面这篇文章主要给大家介绍了关于MySQL中数据类型binary和varbinary的相关资料,介绍的非常详细,需要的朋友可以参考学习。
    2017-07-07
  • Windows版Mysql5.6.11的安装与配置教程

    Windows版Mysql5.6.11的安装与配置教程

    这篇文章详细介绍了Windows下Mysql5.6.11的下载、安装与配置教程,需要的朋友可以参考下
    2013-06-06
  • mysql5.5数据库data目录迁移方法详解

    mysql5.5数据库data目录迁移方法详解

    这篇文章主要介绍了mysql5.5数据库data目录迁移方法详解,其实数据库的目录就在你安装目录的data里面,我的实在D盘。可能大家默认安装都在C吧。这样就要迁移了。这个大家都懂需要的朋友可以参考下
    2016-04-04
  • Python?Matplotlib绘图基础详细教程

    Python?Matplotlib绘图基础详细教程

    matplotlib是python中用于绘制各种图像的模块,功能十分强大,通常与pandas模块搭配使用,可以生成各种样视的图片,用于数据的分析和展示,下面这篇文章主要给大家介绍了关于Python?Matplotlib绘图基础的相关资料,需要的朋友可以参考下
    2022-07-07
  • mysql去除重复数据只保留一条数据实例

    mysql去除重复数据只保留一条数据实例

    这篇文章主要给大家介绍了关于mysql去除重复数据只保留一条数据的相关资料,在使用MySQL时,有时需要查询出某个字段不重复的记录,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • MySQL数据库压缩版本安装与配置详细教程

    MySQL数据库压缩版本安装与配置详细教程

    今天教各位小伙伴怎么安装及配置Mysql数据库,文中有非常详细的图文解说及代码示例,对刚入门mysql的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05

最新评论


http://www.vxiaotou.com