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 22 MySQL
MySQL分库分表与分区的入门指南
Apr 22 MySQL
MySQL 数据丢失排查案例
May 08 MySQL
MySQL官方导出工具mysqlpump的使用
May 21 MySQL
详解MySQL中的主键与事务
May 27 MySQL
如何使用分区处理MySQL的亿级数据优化
Jun 18 MySQL
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
Jun 26 MySQL
MySQL系列之九 mysql查询缓存及索引
Jul 02 MySQL
Mysql中一千万条数据怎么快速查询
Dec 06 MySQL
进阶篇之linux环境下安装MySQL数据库
Apr 09 MySQL
MySQL创建管理HASH分区
Apr 13 MySQL
mysql 索引的数据结构为什么要采用B+树
Apr 26 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
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
php内嵌函数用法实例
2015/03/20 PHP
Java中final关键字详解
2015/08/10 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
js查错流程归纳
2012/05/04 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
pytorch 修改预训练model实例
2020/01/18 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
报名委托书
2015/01/29 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
python xlwt模块的使用解析
2021/04/13 Python
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python