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 02 MySQL
MySQL注入基础练习
May 30 MySQL
MySQL 使用索引扫描进行排序
Jun 20 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
Jul 01 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 MySQL
MYSQL 运算符总结
Nov 11 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
MySQL常见优化方案汇总
Jan 18 MySQL
解析MySQL索引的作用
Mar 03 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
MySQL创建表操作命令分享
Mar 25 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&&mysql)三
2006/10/09 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
file_get_contents("php://input", "r")实例介绍
2013/07/01 PHP
php中chdir()函数用法实例
2014/11/13 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
javascript 写的一个简单的timer
2009/07/30 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
jquery延迟对象解析
2016/10/26 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
Windows下PyMongo下载及安装教程
2015/04/27 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Python3+Appium安装使用教程
2019/07/05 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
2015年元旦标语大全
2014/12/09 职场文书
失职检讨书大全
2015/01/26 职场文书
考博导师推荐信范文
2015/03/27 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL