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

Posted G-Aurora

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 查询所有存储过程视图 等等相关的知识,希望对你有一定的参考价值。

mysql 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称

 

INFORMATION_SCHEMA.TABLES

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

  • 查询(基础)表 方法一

    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)
    

     

Mysql.user

  • 查询数据库用户

 

当前版本、用户、数据库

mysql>SELECT VERSION(),USER(),DATABASE();

#Linux 大写V
mysql -V

 

对表查询

  • 查询表中的所有索引

    SELECT INDEX FROM table_name;
    
  • 查询建表的语句

    SELECT CREATE TABLE table_name;
    

    (0701)

  • 查看所有用户权限(0716)

    select * from mysql.user where user = \'user_name\';
    或者
    show grants for user_name;
    

 

以上是关于MySQL 查询所有存储过程视图 等等的主要内容,如果未能解决你的问题,请参考以下文章

mysql 查询表,视图,触发器,函数,存储过程

如何查询SqlServer和MySql数据库中某个数据库下面所有的视图信息和存储过程的信息,在java中操作

Mysql专题

Mysql优化基础

MySQL视图存储过程与存储引擎

Mysql查看存储过程函数视图触发器表