【小白专用】MySQL查询数据库所有表名及表结构其注释
一、先了解下INFORMATION_SCHEMA
1、在MySQL中,把INFORMATION_SCHEMA看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
2、TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
3、COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
查看ftp数据库内以oemp开头的所有的表名、表数据量、表备注、字段名称、字段类型、默认值、字段备注等;如果查整个数据库就把ftp后全删除。
string sql = $@"SELECT TABLE_NAME as TableName, column_name AS DbColumnName,CASE WHEN left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1)='' THEN COLUMN_TYPE ELSE left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1) END AS DataType,CAST(SUBSTRING(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)+1,LOCATE(')',COLUMN_TYPE)-LOCATE('(',COLUMN_TYPE)-1) AS signed) AS Length,column_default AS `DefaultValue`,column_comment AS `ColumnComment`,CASE WHEN COLUMN_KEY = 'PRI' THEN true ELSE false END AS `IsPrimaryKey`,CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity,CASE WHEN is_nullable = 'YES' THEN true ELSE false END AS `IsNullable`FROM Information_schema.columns where TABLE_NAME='{tableName}' and TABLE_SCHEMA=(select database()) ORDER BY TABLE_NAME";
SELECT T1.TABLE_COMMENT 表注释,T1.TABLE_ROWS 表数据量,T2.TABLE_NAME 表名,T2.COLUMN_NAME 字段名, T2.COLUMN_TYPE 数据类型, T2.DATA_TYPE 字段类型, T2.CHARACTER_MAXIMUM_LENGTH 长度, T2.IS_NULLABLE 是否为空, T2.COLUMN_DEFAULT 默认值, T2.COLUMN_COMMENT 字段备注
FROM INFORMATION_SCHEMA.TABLES T1
LEFT JOININFORMATION_SCHEMA.COLUMNS T2
ONT1.TABLE_NAME = T2.TABLE_NAME
WHERE T1.TABLE_SCHEMA ='ftp'
AND T1.TABLE_NAME LIKE 'oemp%'
ORDER BY T1.TABLE_NAME;

二、如何获取全部表名
基本的语句为
SELECT table_name FROM information_schema.tables
但是这个并不符合业务需求,因为这会返回全部的表名,而业务中需要限定是哪个数据库,并且,不同的业务可能会使用不同的表前缀,所以最好可以限定表前缀,并且需要展示表的注释,不然大家也不清楚表是属于哪个业务的。
所以,完整的SQL语句如下
SELECTTABLE_NAME,TABLE_COMMENT
FROMinformation_schema.TABLES
WHERETABLE_SCHEMA = 'TABLE_SCHEMA' AND TABLE_NAME LIKE 'x_%' AND TABLE_NAME NOT LIKE 'xx_exp%'
ORDER BYTABLE_NAME
需要配置几个参数,并且已经按表名进行排序,TABLE_COMMENT 为表注释。
- TABLE_SCHEMA 数据库名称
- x_ 表前缀
运行结果如下图

1、查看Mysql 数据库 "ori_data"下所有表的表名、表注释及其数据量SELECT
TABLE_NAME 表名,TABLE_COMMENT 表注释,TABLE_ROWS 数据量
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'ori_data'
ORDER BY TABLE_NAME;
SELECT* FROM OPENQUERY (MYSQLTEST ,'
SELECTTABLE_NAME as 表名FROMinformation_schema.TABLES
WHERETABLE_SCHEMA = ''msldbalitest'' AND TABLE_NAME LIKE ''tp_%'' AND TABLE_NAME NOT LIKE ''cms_exp%'' ORDER BY TABLE_NAME desc')

2. 查询数据库 ‘ori_data’ 下表 ‘accumulation’ 所有字段注释SELECT
COLUMN_NAME 字段名,column_comment 字段注释
FROM INFORMATION_SCHEMA.Columns
WHERE table_name='accumulation' AND table_schema='ori_data'
select COLUMN_NAME,DATA_TYPE,COLUMN_COMMENT from information_schema.COLUMNS where table_name = '表名' and table_schema = '数据库名称';
SELECT* FROM OPENQUERY (MYSQLTEST ,'
SELECT
COLUMN_NAME as 字段名,DATA_TYPE,column_comment as 字段注释
FROM INFORMATION_SCHEMA.Columns
WHERE table_name=''cms_goods'' AND table_schema=''msldbalitest''')

3. 查询数据库 "ori_data" 下所有表的表名、表注释以及对应表字段注释SELECT
a.TABLE_NAME 表名,a.TABLE_COMMENT 表注释,b.COLUMN_NAME 表字段,b.COLUMN_TYPE 字段类型,b.COLUMN_COMMENT 字段注释
FROM information_schema.TABLES a,INFORMATION_SCHEMA.Columns b
WHERE b.TABLE_NAME=a.TABLE_NAME AND a.TABLE_SCHEMA='ori_data'
SELECT* FROM OPENQUERY (MYSQLTEST ,'
SELECT
a.TABLE_NAME as 表名,a.TABLE_COMMENT as 表注释,b.COLUMN_NAME as 表字段,b.COLUMN_TYPE as 字段类型,b.COLUMN_COMMENT as 字段注释
FROM information_schema.TABLES a,INFORMATION_SCHEMA.Columns b
WHERE b.TABLE_NAME=a.TABLE_NAME AND a.TABLE_SCHEMA=''msldbalitest''')
information_schema数据库是MySQL数据库自带的数据库,里面存放的MySQL数据库所有的信息,包括数据表、数据注释、数据表的索引、数据库的权限等等。

Mysql数据库如何获取某数据库所有表名称(不包含表结构),Sql如下:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'xxx' AND table_type = 'base table'
information_schema:Mysql自带的数据库,存放各类数据库相关信息的信息数据库,表多为视图
information_schema.tables:该数据库下的tables表
table_schema:tables表下的一个字段,数据库名称
table_type:tables表下的一个字段,表类型,base table为基础表,注:有空格
table_name:tables表下的一个字段,数据表名称
查看指定表的字段及注释
SELECT* FROM OPENQUERY (MYSQLTEST ,'
selecta.ordinal_position,a.COLUMN_name,a.COLUMN_type,a.COLumn_comment,a.is_nullable,a.column_key
frominformation_schema.COLUMNS a
whereTABLE_schema = ''msldbalitest''and TABLE_name = ''cms_admin_menu''')


查看数据所有表名及注释
SELECT* FROM OPENQUERY (MYSQLTEST ,'
selectt.TABLE_NAME,t.TABLE_COMMENT
frominformation_schema.tables t
wheret.TABLE_TYPE = ''BASE TABLE''and TABLE_schema = ''msldbalitest''')

在mysql中,information_schema这个数据库中保存了mysql服务器所有数据库的信息。
包括数据库名,数据库的表,表字段的数据类型等。
简而言之,若想知道mysql中有哪些库,哪些表,表里面有哪些字段以及他们的注释,都可以从information_schema中获取
COLUMNS表
information_schema库中的COLUMNS表,存放MySQL所有表的字段详细信息。
常用列
TABLE_SCHEMA:数据库名
TABLE_NAME:数据表名
COLUMN_NAME:数据列名
DATA_TYPE:数据类型,如:varchar
COLUMN_TYPE:数据列类型(含数据长度),如:varchar(32)
COLUMN_COMMENT:数据列注释/说明

string sql = $@"SELECT TABLE_NAME as TableName, column_name AS DbColumnName,CASE WHEN left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1)='' THEN COLUMN_TYPE ELSE left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1) END AS DataType,CAST(SUBSTRING(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)+1,LOCATE(')',COLUMN_TYPE)-LOCATE('(',COLUMN_TYPE)-1) AS signed) AS Length,column_default AS `DefaultValue`,column_comment AS `ColumnComment`,CASE WHEN COLUMN_KEY = 'PRI' THEN true ELSE false END AS `IsPrimaryKey`,CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity,CASE WHEN is_nullable = 'YES' THEN true ELSE false END AS `IsNullable`FROM Information_schema.columns where TABLE_NAME='{tableName}' and TABLE_SCHEMA=(select database()) ORDER BY TABLE_NAME";
使用MySQL创建的表,无论是表注释、索引,还是字段的类型等等,都会存到MySQL自带的库表中,可以通过SQL查出来想要的表、字段信息。
了解information_schema库,可以在工作中起到意想不到的效果
-- database_name替换为库名,查出库中所有表的TABLE_NAME表名、TABLE_COMMENT表注释
SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='database_name';
TABLES表
information_schema库中的TABLES表,存放MySQL所有表的表信息。
常用列
- TABLE_SCHEMA:数据库名
- TABLE_NAME:数据表名
- TABLE_COMMENT:数据表注释/说明

查询某个表的所有字段
select column_name,data_type,column_comment,column_key,extra,character_maximum_length,is_nullable,column_default
from information_schema.columns
where table_schema = 'seata' and table_name = 'users' ;
组装表的所有列
select GROUP_CONCAT("t.",column_name) total
from information_schema.columns
where table_schema = 'seata' and table_name = 'users' and column_name not in ('id');
相关文章:
【小白专用】MySQL查询数据库所有表名及表结构其注释
一、先了解下INFORMATION_SCHEMA 1、在MySQL中,把INFORMATION_SCHEMA看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INF…...
数据库中常用的锁
目录 1、数据库中常用的锁类型 2、常见的数据库 3、以MySQL为例 3.1 MySQL的事务 3.2 MySQL事务的四大特性 1. 原子性(Atomicity) 2. 一致性(Consistency) 3. 隔离性(Isolation) ⭐mysql中的事务隔…...
关于对向量检索研究的一些学习资料整理
官方学习资料 主要是的学习资料是, 官方文档 和官方博客。相关文章还是挺多 挺不错的 他们更新也比较及时。有最新的东西 都会更新出来。es scdn官方博客 这里简单列一些,还有一些其他的,大家自己感兴趣去看。 什么是向量数据库 Elasticse…...
软件开发流程分析
软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端:自研API,调用第三放API 后端:自研API,第三方API 数据库:Mysql,数据采集,数据迁移 服务器…...
017 OpenCV 向量机SVM
目录 一、环境 二、SVM原理 三、完整代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、SVM原理 OpenCV中的向量机(SVM)是一种监督学习算法,用于分类和回归分析。它通过找到一个最优的超平…...
Qt练习题
1.使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否…...
文本转图像 学习笔记
VQGAN (Vector Quantized Generative Adversarial Network) 是一种基于 GAN 的生成模型,可以将图像或文本转换为高质量的图像。 VQ (Vector Quantization)是一种数据压缩技术,是指将连续数据表示为离散化的向量。输入的图像或文本…...
开源CDN软件GoEdge —— 筑梦之路
官方网站:GoEdge CDN - 制作自己的CDN - GoEdge CDN | 自建CDN GoEdge是一款管理分布式CDN边缘节点的开源工具软件,目的是让用户轻松地、低成本地创建CDN/WAF等应用。 特性 免费 - 开源、免费、自由、开放 简单 - 架构简单清晰,安装简单&a…...
基于SpringBoot+Vue会员制医疗预约服务管理信息系统(Java毕业设计)
点击咨询源码 大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的…...
【Linux | 编程实践】防火墙 (网络无法访问)解决方案 Vim常用快捷键命令
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
仅 CSS 阅读进度条
为了构建一个阅读进度条,即显示用户向下滚动时阅读文章的进度,很难不考虑 JavaScript。但是,事实证明,您也可以使用纯 CSS 构建阅读进度条。 从本质上讲,一个名为 animation-timeline 的新实验性 CSS 属性可以让你指定…...
深度剖析中国居民消费价格指数CPI数据可视化案例-Python可视化技术实现(附完整源码)【数据可视化项目案例-16】
🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本专栏包括所有的可视化技术学习,感兴趣可以到本专栏页面,查阅可视化宝典可快速了解本专栏。订阅专栏用户可以在每篇文章底部下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不论…...
SpringBoot——嵌入式 Servlet容器
一、如何定制和修改Servlet容器的相关配置 前言: SpringBoot在Web环境下,默认使用的是Tomact作为嵌入式的Servlet容器; 【1】修改和server相关的配置(ServerProperties实现了EmbeddedServletContainerCustomizer)例如…...
王炸升级!PartyRock 10分钟构建 AI 应用
前言 一年一度的亚马逊云科技的 re:Invent 可谓是全球云计算、科技圈的狂欢,每次都能带来一些最前沿的方向标,这次也不例外。在看完一些 keynote 和介绍之后,我也去亲自体验了一些最近发布的内容。其中让我感受最深刻的无疑是 PartyRock 了。…...
文件管理和操作工具Path Finder mac功能介绍
Path Finder mac是一款Mac平台上的文件管理和操作工具,提供了比Finder更丰富的功能和更直观的用户界面。它可以帮助用户更高效地浏览、复制、移动、删除和管理文件,以及进行各种高级操作。 Path Finder mac软件功能 - 文件浏览:可以快速浏览文…...
转换 pytorch 格式模型为 caffe格式模型 pth2caffemodel
基于 GitHub xxradon/PytorchToCaffe 源码,修改 example\resnet_pytorch_2_caffe.py 如下 import os import sys sys.path.insert(0, .)import torch from torch.autograd import Variable from torchvision.models import resnet import pytorch_to_caffe"&q…...
【S32DS RTD实战】-1.3-S32K3工程生成S19,BIN,Hex文件,以及Post-build steps的妙用
目录 1 方法一:逐个生成Motorola S-record(s19,srec…),Intel HEX,Bin文件 1.1 生成Motorola S-record(s19,srec…)文件 1.2 生成Intel HEX文件 1.3 生成Bin文件 2 …...
Java工程找不到javax.xml.bind.annotation包
文章目录 问题解决方法参考 问题 最近Java工程找不到javax.xml.bind.annotation包,进行了解决。 解决方法 参考 stackoverflow: package javax.xml.bind.annotation does not exist error javax.xml.bind这个库从Java 11版本就被移除了,缺失了这个包…...
【C语言】网络字节序和主机字节序
网络字节序和主机字节序是计算机中字节的两种排序方式,它们主要用于解决不同计算机之间数据通信的问题。 一、网络字节序 也被称为大端字节序,是一种标准的字节序。在网络通信中,如果两台主机的字节序不同,可能会导致数据解释的二…...
极简模式,助力宏观数据监控
随着UWA GOT Online采样的参数越来越多样化,为了提升开发者的使用体验,我们最新推出了三种预设数据采集方案:极简模式、CPU模式、内存模式。该更新旨在降低多数据采集对数据准确性的干扰,同时也为大家提供更精准且有针对性的数据指…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
