MySQL常用查询Columns和Views

分享一下工作中常见的mysql脚本,此次分享的内容如下:

  • Columns
  • Views

一、Columns

1. 列出 MySQL 数据库中的表列

selecttab.table_schemaasdatabase_schema,
tab.table_nameastable_name,
col.ordinal_positionascolumn_id,
col.column_nameascolumn_name,
col.data_typeasdata_type,
casewhencol.numeric_precisionisnotnull
thencol.numeric_precision
elsecol.character_maximum_lengthendasmax_length,
casewhencol.datetime_precisionisnotnull
thencol.datetime_precision
whencol.numeric_scaleisnotnull
thencol.numeric_scale
else0endas'precision'
frominformation_schema.tablesastab
innerjoininformation_schema.columnsascol
oncol.table_schema=tab.table_schema
andcol.table_name=tab.table_name
wheretab.table_type='BASE TABLE'
andtab.table_schemanotin ('information_schema','mysql',
'performance_schema','sys')
--uncommentlinebelowforcurrentdatabaseonly
--andtab.table_schema=database()
--uncommentlinebelowandprovidespecificdatabasename
--andtab.table_schema='your_database_name'
orderbytab.table_name,
col.ordinal_position;

注意:要查看特定数据库中的列,请取消注释上述子句之一。

说明:

  • schema_name – 数据库名称
  • table_name – 表名
  • column_id – 表列 id,每个表从 1 开始
  • column_name – 列的名称
  • data_type – 列数据类型
  • max_length – 数据类型最大长度
  • precision- 数据类型精度

2. 列出 MySQL 数据库中特定表中的所有列

selectordinal_positionascolumn_id,
column_nameascolumn_name,
data_typeasdata_type,
casewhennumeric_precisionisnotnull
thennumeric_precision
elsecharacter_maximum_lengthendasmax_length,
casewhendatetime_precisionisnotnull
thendatetime_precision
whennumeric_scaleisnotnull
thennumeric_scale
else0endasdata_precision,
is_nullable,
column_default
frominformation_schema.columns
wheretable_name='table name'--puttablenamehere
--andtable_schema='schema name'--putschemanamehere
orderbyordinal_position;

说明:

  • column_id – 表中的列位置,从 1 开始
  • column_name – 表中列的名称
  • data_type – 列数据类型
  • max_length – 数据类型最大长度
  • data_precision – 数据类型精度
  • is_nullable – 如果列可以为空,则为 YES,否则为 NO
  • column_default – 列的默认表达式

3. 列出 MySQL 数据库中所有包含详细信息的表列(PKs、UKs、FKs、Default、Computed 等)

说明:

  • database_name – 数据库(模式)名称
  • table_name – 表名
  • column_name – 列名
  • data_type – 数据列的类型包含
  • 精度- 数字类型的精度或日期时间类型的小数位数
  • numeric_scale – 数字数据类型的比例
  • char_length – 最大字符长度
  • column_default – 列的默认值
  • PK – 指示列是否为主键
  • FK – 指示列是否为外键
  • UQ – 指示列是否必须在表中具有唯一值
  • is_nullable – 指示列是否可以为空

4. 列出 MySQL 数据库中所有计算(生成)的列

selecttable_schemaasdatabase_name,
table_name,
column_name,
data_type,
generation_expression
frominformation_schema.columns
wherelength(generation_expression) >0
andtable_schemanotin ('information_schema', 'sys',
'performance_schema', 'mysql')
orderbytable_schema,
table_name,
column_name;

说明:

  • database_name – 包含表的数据库(模式)名称
  • table_name – 表名
  • column_name – 列的名称
  • data_type – 列的数据类型
  • generation_expression – 计算公式

二、Views

1. 列出 MySQL 数据库中的视图

selecttable_schemaasdatabase_name,
table_nameasview_name
frominformation_schema.views
wheretable_schemanotin ('sys','information_schema',
'mysql', 'performance_schema')
--andtable_schema='database_name'--putyourdatabasenamehere
orderbytable_schema,
table_name;

说明:

  • database_name – 包含视图的数据库(模式)的名称
  • view_name – 视图名称

2. 列出 MySQL 中的视图及其定义

selectvw.table_schemaasdatabase_name,
vw.table_nameasview_name,
vw.view_definitionasdefinition,
tb.table_commentasdescription
frominformation_schema.viewsasvw
innerjoininformation_schema.tablesastb
ontb.table_name=vw.table_name
--wherevw.table_schema='your database name'
orderbydatabase_name, view_name;

注意:如果您需要特定数据库(模式)的信息,请取消注释 table_schema 行并提供您的数据库名称。

说明:

  • schema_name – 视图的数据库(模式)名称
  • view_name – 视图的名称
  • 定义- 视图的定义脚本
  • 描述- 视图的描述

3. 列出 MySQL 数据库中的视图中的所有列

selectcol.table_schemaasdatabase_name,
col.table_nameasview_name,
col.ordinal_position,
col.column_name,
col.data_type,
casewhencol.character_maximum_lengthisnotnull
thencol.character_maximum_length
elsecol.numeric_precisionendasmax_length,
col.is_nullable
frominformation_schema.columnscol
joininformation_schema.viewsvieonvie.table_schema=col.table_schema
andvie.table_name=col.table_name
wherecol.table_schemanotin ('sys','information_schema',
'mysql', 'performance_schema')
--andvie.table_schema='database_name'--putyourdatabasenamehere
orderbycol.table_schema,
col.table_name,
col.ordinal_position;

说明:

  • database_name – 数据库(模式)名称
  • view_name – 视图名称
  • column_name – 列名
  • data_type – 列数据类型
  • max_length- 列长度:对于字符串列,以字符为单位的最大长度;对于数值列,数值精度。
  • is_nullable – 指示列是否允许空值的标志

4. 列出 MySQL 数据库中视图使用的表

查询在8.0.13 MySQL 版本下执行。

selectvtu.view_schemaasdatabase_name,
vtu.view_nameasview_name,
vtu.table_schemaasreferenced_database_name,
vtu.table_nameasreferenced_object_name,
tab.table_typeasobject_type
frominformation_schema.view_table_usagevtu
joininformation_schema.tablestabonvtu.table_schema=tab.table_schema
andvtu.table_name=tab.table_name
whereview_schemanotin ('sys','information_schema',
'mysql', 'performance_schema')
--andtab.table_schema='database_name'--putyourdatabasenamehere
orderbyvtu.view_schema,
vtu.view_name;

说明:

  • database_name – 查看数据库(模式)名称
  • view_name – 视图名称
  • referenced_database_name – 视图引用的表数据库名称
  • referenced_object_name – 视图引用的表名
  • object_type- 引用对象的类型:BASE TABLE;VIEW

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/281056.html<

(0)
运维的头像运维
上一篇2025-05-12 19:48
下一篇 2025-05-12 19:50

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注