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 06 MySQL
MySQL中你可能忽略的COLLATION实例详解
May 12 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL 常见的数据表设计误区汇总
Jun 07 MySQL
MySQL 外键约束和表关系相关总结
Jun 20 MySQL
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
Jun 21 MySQL
MySql子查询IN的执行和优化的实现
Aug 02 MySQL
SQL实现LeetCode(177.第N高薪水)
Aug 04 MySQL
Mysql数据库表中为什么有索引却没有提高查询速度
Feb 24 MySQL
MySQL数据库中的锁、解锁以及删除事务
May 06 MySQL
Mysql中常用的join连接方式
May 11 MySQL
MySQL提升大量数据查询效率的优化神器
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
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
php读取excel文件的简单实例
2013/08/26 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
python条件和循环的使用方法
2013/11/01 Python
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python中的异常处理简明介绍
2015/04/13 Python
分享python数据统计的一些小技巧
2016/07/21 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
Python编程求质数实例代码
2018/01/31 Python
python实现机器学习之多元线性回归
2018/09/06 Python
python文件拆分与重组实例
2018/12/10 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
工业自动化毕业生自荐信范文
2014/01/04 职场文书
冰峪沟导游词
2015/02/09 职场文书
python如何做代码性能分析
2021/04/26 Python
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB