MySQL 查询所有存储过程视图 等等

 

INFORMATION_SCHEMA.TABLES

INFORMATION_SCHEMA.TABLES是MySQL自带的(被视作)一个信息数据库,保存着MySQL服务器所维护的其他数据库的信息。INFORMATION_SCHEMA.TABLES其中有数个只读表,实际上是视图,不是基本表,因此无法看到任何相关的文件。INFORMATION_SCHEMA.TABLES中各种字段名见此

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 查询(基础)表 方法一

    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TABLE_TYPE = 'BASE TABLE';
    

    返回举例:

    mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_TYPE = 'BASE TABLE';
    +------------+
    | TABLE_NAME |
    +------------+
    | t          |
    +------------+
    1 row in set (0.00 sec)
    

    查询(基础)表 方法二

    USE TABLE xxx
    SHOW TABLES;
    

    返回举例:

    mysql> show tables;
    +----------------+
    | Tables_in_test |
    +----------------+
    | t              |
    +----------------+
    1 row in set (0.00 sec)
    
  • 查询视图

    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TABLE_TYPE = 'VIEW';
    
  • 查询所有触发器

    SELECT * FROM information_schema.`triggers`;
    

    测试证明,information_schema也遵循 “Linux平台MySQL不区分大小写”

     

mysql.proc

  • 查询所有函数

    SELECT name FROM mysql.proc WHERE db='数据库名' and type='funtion';
    
  • 查询所有存储过程

    SELECT name FROM mysql.proc WHERE db='数据库名' and type='procedure';
    

    检测

    mysql> SELECT name FROM mysql.proc WHERE db='test' and type='procedure';
    +-------------------+
    | name              |
    +-------------------+
    | add_sum           |
    | add_sum_procedure |
    | findByNums        |
    +-------------------+
    3 rows in set (0.00 sec)
    

     

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄