【mysql】一条命令查询出表结构

在写数据库设计文档时,需要导出如下的表结构

字段名类型长度是否为主键是否非空描述

需要将查询中的c.TABLE_SCHEMAc.TABLE_NAME改成自己的数据库和表名,sql查询语句如下:

SELECT 
    c.COLUMN_NAME AS '字段名',
    SUBSTRING_INDEX(c.COLUMN_TYPE, '(', 1) AS '类型',
    CASE 
        WHEN LOCATE('(', c.COLUMN_TYPE) > 0 THEN 
            REPLACE(SUBSTRING(c.COLUMN_TYPE, LOCATE('(', c.COLUMN_TYPE) + 1, LENGTH(c.COLUMN_TYPE) - LOCATE('(', c.COLUMN_TYPE) - 1), ')', '') 
        ELSE 
            NULL 
    END AS '长度',
    CASE WHEN kcu.CONSTRAINT_NAME IS NOT NULL THEN '是' ELSE '否' END AS '是否为主键',
    CASE WHEN c.IS_NULLABLE = 'NO' THEN '是' ELSE '否' END AS '是否非空',
    c.COLUMN_COMMENT AS '描述'
FROM 
    INFORMATION_SCHEMA.COLUMNS c
LEFT JOIN 
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON 
        c.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND 
        c.TABLE_NAME = kcu.TABLE_NAME AND 
        c.COLUMN_NAME = kcu.COLUMN_NAME AND 
        kcu.CONSTRAINT_NAME = 'PRIMARY'
WHERE 
    c.TABLE_SCHEMA = '你的数据库名' AND 
    c.TABLE_NAME = '你的表名'
ORDER BY 
    c.ORDINAL_POSITION;

查询结果如下:
在这里插入图片描述

直接复制查询结果,放入word表格即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值