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 sql_mode修改不生效的原因及解决
May 07 MySQL
MySQL系列之七 MySQL存储引擎
Jul 02 MySQL
mysql主从复制的实现步骤
Oct 24 MySQL
mysql函数全面总结
Nov 11 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
详解MySql中InnoDB存储引擎中的各种锁
Feb 12 MySQL
面试中老生常谈的MySQL问答集锦夯实基础
Mar 13 MySQL
MySQL索引 高效获取数据的数据结构
May 02 MySQL
MySQL数据库Innodb 引擎实现mvcc锁
May 06 MySQL
MySQL sql模式设置引起的问题
May 15 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
PHP中的类-什么叫类
2006/11/20 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
深入PHP curl参数的详解
2013/06/17 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
php文件下载处理方法分析
2015/04/22 PHP
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
python实时监控logstash日志代码
2020/04/27 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
个人自荐书
2013/12/20 职场文书
优秀士兵个人事迹材料
2014/01/19 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
志愿者事迹材料
2014/12/26 职场文书
家庭经济困难证明
2015/06/23 职场文书
教师节简报
2015/07/20 职场文书
趣味运动会口号
2015/12/24 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
python创建字典及相关管理操作
2022/04/13 Python
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript