mysql查看表结构的三种方法总结


Posted in MySQL onJuly 07, 2022

mysql查看表结构

1. show create table

show create table 表名称

这个语句每次本能想出的,语义好记,可以直接查看建表语句,但不便于代码处理。

2. desc

desc 表名称

这个语句简单易用,可以获取到 COLUMNS 中的比较重要的字段:名称、类型、是否为空、键、默认值、额外信息。但无法获取字段的注释。

3. information_schema.COLUMNS

select * from information_schema.COLUMNS where TABLE_SCHEMA = '库名称' and TABLE_NAME = '表名称'

相对show create table而言,相对简单,信息全面,可以查询出来字段的名称、类型、键、权限、注释和其他信息。为了获取字段名称,故我脚本中使用这个作为获取表结构的方法。

附:information_schema.COLUMNS字段和含义

字段名称及含义

  • TABLE_CATALOG表类型(没搞懂干啥用?)
  • TABLE_SCHEMA所属库名称
  • TABLE_NAME表名称
  • COLUMN_NAME字段名称
  • ORDINAL_POSITION位置序号
  • COLUMN_DEFAULT默认值
  • IS_NULLABLE是否可为空
  • DATA_TYPE数据类型
  • CHARACTER_MAXIMUM_LENGTH字符串最大长度(数值类型为空)
  • CHARACTER_OCTET_LENGTH字符串最大存储长度(一般与上一字段相同)
  • NUMERIC_PRECISION数值精度(非数值类型为空)
  • NUMERIC_SCALE数值小数位数(非数值类型为空)
  • DATETIME_PRECISION日期精度
  • CHARACTER_SET_NAME编码方式
  • COLLATION_NAME排序方式
  • COLUMN_TYPE字段类型
  • COLUMN_KEY字段涉及的key(主键、唯一键等)
  • EXTRA其他(如 auto_increment)
  • PRIVILEGES权限
  • COLUMN_COMMENT字段注释
  • GENERATION_EXPRESSION代表达式(没搞懂,mysql可以表继承?)

获取所有的表结构及备注

根据库名导出所有表信息

SELECT
    *
FROM
    information_schema.`TABLES`
WHERE
    TABLE_SCHEMA = 'db_name'

根据库名导出所有表名及表备注

SELECT
    TABLE_NAME,
    TABLE_COMMENT
FROM
    information_schema.`TABLES`
WHERE
    TABLE_SCHEMA = 'db_name';

mysql获取整个库的所有表,及表结构

SELECT
    TABLE_SCHEMA AS '库名',
    TABLE_NAME AS '表名',
    COLUMN_NAME AS '列名',
    ORDINAL_POSITION AS '列的排列顺序',
    COLUMN_DEFAULT AS '默认值',
    IS_NULLABLE AS '是否为空',
    DATA_TYPE AS '数据类型',
    CHARACTER_MAXIMUM_LENGTH AS '字符最大长度',
    NUMERIC_PRECISION AS '数值精度(最大位数)',
    NUMERIC_SCALE AS '小数精度',
    COLUMN_TYPE AS '列类型',
    COLUMN_KEY 'KEY',
    EXTRA AS '额外说明',
    COLUMN_COMMENT AS '注释'
FROM
    information_schema.`COLUMNS`
WHERE
    TABLE_SCHEMA = 'db_name'
ORDER BY
    TABLE_NAME,
    ORDINAL_POSITION;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。


Tags in this post...

MySQL 相关文章推荐
详解MySQL 用户权限管理
Apr 20 MySQL
Mysql基础之常见函数
Apr 22 MySQL
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
May 06 MySQL
详解MySQL 联合查询优化机制
May 10 MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
May 25 MySQL
MySQL注入基础练习
May 30 MySQL
mysql5.7使用binlog 恢复数据的方法
Jun 03 MySQL
MySQL 常见的数据表设计误区汇总
Jun 07 MySQL
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
Jul 01 MySQL
SQL基础查询和LINQ集成化查询
Jan 18 MySQL
Innodb存储引擎中的后台线程详解
Apr 03 MySQL
Mysql数据库group by原理详解
Jul 07 MySQL
MySQL中正则表达式(REGEXP)使用详解
MySQL实现字段分割一行转多行的示例代码
MySQL控制流函数(-if ,elseif,else,case...when)
Jul 07 #MySQL
mysql拆分字符串作为查询条件的示例代码
Jul 07 #MySQL
mysql全面解析json/数组
Jul 07 #MySQL
Mysql表数据比较大情况下修改添加字段的方法实例
MySQL外键约束(Foreign Key)案例详解
Jun 28 #MySQL
You might like
PHP中的cookie
2006/11/26 PHP
php 生成饼图 三维饼图
2009/09/28 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
django框架使用方法详解
2019/07/18 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
django中related_name的用法说明
2020/05/20 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
python中if嵌套命令实例讲解
2021/02/25 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
益模软件Java笔试题
2012/03/27 面试题
仓库管理员岗位职责
2014/03/19 职场文书
应届生自荐信
2014/06/30 职场文书
迎国庆演讲稿
2014/09/05 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers