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时间设置注意事项的深入总结
May 06 MySQL
MySQL主从搭建(多主一从)的实现思路与步骤
May 13 MySQL
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
May 29 MySQL
浅谈MySQL next-key lock 加锁范围
Jun 07 MySQL
mysql 如何获取两个集合的交集/差集/并集
Jun 08 MySQL
MySQL窗口函数的具体使用
Nov 17 MySQL
详解MySql中InnoDB存储引擎中的各种锁
Feb 12 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
MySQL限制查询和数据排序介绍
Mar 25 MySQL
Windows下载并安装MySQL8.0.x 版本的完整教程
Apr 10 MySQL
Mysql调整优化之四种分区方式以及组合分区
Apr 13 MySQL
Mysql的Table doesn't exist问题及解决
Dec 24 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
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
js电话号码验证方法
2015/09/28 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python 除法小技巧
2008/09/06 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python Selenium截图功能实现代码
2020/04/26 Python
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
道路运输企业安全生产责任书
2014/07/28 职场文书
颐和园的导游词
2015/01/30 职场文书
工程服务质量承诺书
2015/04/29 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers