ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

询mysql所有表数据、字段信息

2021-08-20 07:32:10  阅读:179  来源: 互联网

标签:information NAME COLUMN 所有 信息 mysql TABLE SCHEMA schema


根据库名获取所有表的信息

复制代码
SELECT
    *
FROM
    information_schema.`TABLES`
WHERE
    TABLE_SCHEMA = 'erp';
复制代码

根据库名获取所有表名称和表说明

复制代码
SELECT
    TABLE_NAME,
    TABLE_COMMENT
FROM
    information_schema.`TABLES`
WHERE
    TABLE_SCHEMA = 'erp';
复制代码

view:

根据库名获取所有的字段信息

复制代码
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 = 'erp'
ORDER BY
    TABLE_NAME,
    ORDINAL_POSITION;
复制代码

view:

 

根据库名获取所有的库和表字段的基本信息

复制代码
SELECT
    C.TABLE_SCHEMA AS '库名',
    T.TABLE_NAME AS '表名',
    T.TABLE_COMMENT AS '表注释',
    C.COLUMN_NAME AS '列名',
    C.COLUMN_COMMENT AS '列注释',
    C.ORDINAL_POSITION AS '列的排列顺序',
    C.COLUMN_DEFAULT AS '默认值',
    C.IS_NULLABLE AS '是否为空',
    C.DATA_TYPE AS '数据类型',
    C.CHARACTER_MAXIMUM_LENGTH AS '字符最大长度',
    C.NUMERIC_PRECISION AS '数值精度(最大位数)',
    C.NUMERIC_SCALE AS '小数精度',
    C.COLUMN_TYPE AS 列类型,
    C.COLUMN_KEY 'KEY',
    C.EXTRA AS '额外说明'
FROM
    information_schema.`TABLES` T
LEFT JOIN information_schema.`COLUMNS` C ON T.TABLE_NAME = C.TABLE_NAME
AND T.TABLE_SCHEMA = C.TABLE_SCHEMA
WHERE
    T.TABLE_SCHEMA = 'erp' 
ORDER BY
    C.TABLE_NAME,
    C.ORDINAL_POSITION;
复制代码

view: 

 

 


 

 

Navicat目前查看数据库信息的方式并不友好,故想了另外一种方式,供参考,如下

执行存储过程

 CREATE PROCEDURE ShowTableDesc(tablename VARCHAR(200))

BEGIN
SELECT t2.*,t1.* FROM (select COLUMN_NAME as '字段',COLUMN_DEFAULT as '默认值',IS_NULLABLE as '允许为空',COLUMN_TYPE as '数据类型',
 COLUMN_COMMENT as '描述' from information_schema.columns
where table_schema =(select database() as databasename) and table_name = tablename) t1,
(select table_name as '表名',table_comment as '表描述' from information_schema.tables  where table_schema = (select database() as databasename) and table_name = tablename)
t2;
END

调用方式

call ShowTableDes('order');
ShowTableDes为存储过程名字,order 为表名。

 

 

标签:information,NAME,COLUMN,所有,信息,mysql,TABLE,SCHEMA,schema
来源: https://www.cnblogs.com/51net/p/15164788.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有