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 16 MySQL
MySql开发之自动同步表结构
May 28 MySQL
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
May 29 MySQL
Mysql systemctl start mysqld报错的问题解决
Jun 03 MySQL
MySQL基础快速入门知识总结(附思维导图)
Sep 25 MySQL
MySQL空间数据存储及函数
Sep 25 MySQL
MySQL中一条update语句是如何执行的
Mar 16 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
mysql的单列多值存储实例详解
Apr 05 MySQL
MySQL创建管理子分区
Apr 13 MySQL
MySQL脏读,幻读和不可重复读
May 11 MySQL
MySQL存储过程及语法详解
Aug 05 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数据库配置文件一般做法分享
2012/07/07 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
smarty表格换行实例
2014/12/15 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
Python数据结构之Array用法实例
2014/10/09 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python实现海螺图片的方法示例
2019/05/12 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
为什么说python更适合树莓派编程
2020/07/20 Python
Python如何实现机器人聊天
2020/09/10 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
自考生自我评价分享
2014/01/18 职场文书
社区居务公开实施方案
2014/03/27 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
Python开发简易五子棋小游戏
2022/05/02 Python