MySQL 查詢所有存儲過程視圖 等等 INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA.TABLES是MySQL自帶的(被視作)一個信息資料庫,保存著MySQL伺服器所維護的其他資料庫的信息。INFORMATION_SCHEMA.TABLES其中有數個只讀表 ...
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)