MySQL 查看建表语句和comment

开发时,经常需要查看表的 ddl ,一般大家都使用图形化工具,比如 JetBrasins 开发的的 DataGrid,其他的有 Navicat、MySQL Workbench、sqlyog 等软件。
使用过程中,我发现很多时候开的窗口太多了,切来切去很花时间。比如我在用的navicat,一个业务经常涉及多个schema,多个table,有时候切来切去很麻烦,其中就包括查看表的定义。
所以必要的时候,用简单的 SQL 去查询一下,还是很方便的。

常见用法

  • DESC

    ;
    获取表结构,可以的看到输出列,如果仅是查看字段名、类型等基础信息,指令简短高效


    desc.png
  • DESCRIBE

  • ;
    获取表结构,同 上


    describe.png
  • SHOW FULL COLUMNS FROM


  • 获取表结构,可以看到输出增加了三列,多了排序规则、当前用户的权限、以及注释。如果想查看注释,用这个比较合适。


    SHOW FULL COLUMNS FROM.png
  • SHOW FULL FIELDS FROM


  • 获取表结构,同上


    SHOW FULL FIELDS FROM.png
  • SHOW CREATE TABLE


  • 获取建表语句,其中包含所有信息


    SHOW CREATE TABLE .png
    SHOW CREATE TABLE.png

    information_schema

    上述信息其实都在 information_schema这个schema中保存,除了使用 descshow这种关键字去查询,也可直接使用 SQL 查询。
    SHOW TABLES; 查看 information_schema 中有哪些表。

    表名 用途
    CHARACTER_SETS
    COLLATIONS
    COLLATION_CHARACTER_SET_APPLICABILITY
    COLUMNS
    COLUMN_PRIVILEGES
    ENGINES
    EVENTS
    FILES
    GLOBAL_STATUS
    GLOBAL_VARIABLES
    KEY_COLUMN_USAGE
    OPTIMIZER_TRACE
    PARAMETERS
    PARTITIONS
    PLUGINS
    PROCESSLIST
    PROFILING
    REFERENTIAL_CONSTRAINTS
    ROUTINES
    SCHEMATA
    SCHEMA_PRIVILEGES
    SESSION_STATUS
    SESSION_VARIABLES
    SQL_FILTER_INFO
    STATISTICS
    TABLES
    TABLESPACES
    TABLE_CONSTRAINTS
    TABLE_PRIVILEGES
    TRIGGERS
    USER_PRIVILEGES
    VIEWS
    TABLE_STATISTICS
    INDEX_STATISTICS
    IO_STATISTICS
    PERF_STATISTICS
    INNODB_LOCKS
    INNODB_TRX
    INNODB_SYS_DATAFILES
    INNODB_FT_CONFIG
    THREADPOOL_INFO
    INNODB_CMP
    INNODB_FT_BEING_DELETED
    INNODB_CMP_RESET
    INNODB_CMP_PER_INDEX
    INNODB_CMPMEM_RESET
    INNODB_FT_DELETED
    INNODB_BUFFER_PAGE_LRU
    INNODB_LOCK_WAITS
    INNODB_TEMP_TABLE_INFO
    INNODB_PURGE_FILES
    INNODB_SYS_TABLES
    INNODB_SYS_FIELDS
    INNODB_CMP_PER_INDEX_RESET
    INNODB_BUFFER_PAGE
    INNODB_SYS_INDEXES
    INNODB_FT_INDEX_TABLE
    INNODB_FT_INDEX_CACHE
    INNODB_TABLESPACE_MASTER_KEY
    INNODB_METRICS
    INNODB_SYS_FOREIGN_COLS
    INNODB_CMPMEM
    INNODB_BUFFER_POOL_STATS
    INNODB_SYS_COLUMNS
    INNODB_SYS_FOREIGN
    INNODB_SYS_TABLESTATS
    INNODB_FT_DEFAULT_STOPWORD
    INNODB_SYS_TABLESPACES
    INNODB_SYS_VIRTUAL

你可能感兴趣的:(MySQL 查看建表语句和comment)