MySQLで特定のデータベースのストアドプロシージャとストアド関数の一覧を確認する方法
INFORMATION_SCHEMA.ROUTINESを使った一覧の確認方法
MySQLでは、INFORMATION_SCHEMA.ROUTINESテーブルに対してSELECT文を実行することで、特定のデータベースに登録されているストアドプロシージャやストアド関数の一覧を簡単に確認できます。
mysql> SELECT ROUTINE_TYPE, ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'query'; +--------------+--------------+ | ROUTINE_TYPE | ROUTINE_NAME | +--------------+--------------+ | PROCEDURE | allrecords | | FUNCTION | Hello | +--------------+--------------+ 2 rows in set (0.04 sec)
上記のクエリを実行すると、データベース「query」に保存されているストアドプロシージャ「allrecords」と、ストアド関数「Hello」が結果として返されます。ROUTINE_TYPE列には、そのルーチンがプロシージャ(PROCEDURE)であるか関数(FUNCTION)であるかが表示されるため、種類を見分けながら一覧を把握することが可能です。
プロシージャまたは関数だけを抽出する
WHERE句にROUTINE_TYPEの条件を追加すれば、必要な種類だけを絞り込んで表示することもできます。
-- ストアドプロシージャのみを取得
mysql> SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES
-> WHERE ROUTINE_SCHEMA = 'query' AND ROUTINE_TYPE = 'PROCEDURE';
-- ストアド関数のみを取得
mysql> SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES
-> WHERE ROUTINE_SCHEMA = 'query' AND ROUTINE_TYPE = 'FUNCTION';SHOWステートメントを使う代替手段
INFORMATION_SCHEMAを直接参照する代わりに、以下のSHOWステートメントでも同様の情報を取得できます。
mysql> SHOW PROCEDURE STATUS WHERE Db = 'query'; mysql> SHOW FUNCTION STATUS WHERE Db = 'query';
これらのコマンドは、ルーチン名だけでなく作成日時や更新日時、セキュリティ設定などの詳細情報も合わせて表示してくれるため、状況に応じて使い分けると便利です。
-
特定のMySQLデータベースに保存されているビューの一覧を確認する方法
MySQLでは、いくつかの異なるクエリを使って、特定のデータベースに保存されているビュー(VIEW)の一覧を簡単に確認できます。この記事では、「query」という名前のデータベースを例に、代表的な3つの方法を紹介します。 1. information_schemaを使ってビュー一覧を取得する まずは、information_schemaデータベースのTABLESテーブルを参照する方法です。TABLE_TYPEが「VIEW」であるレコードを抽出し、TABLE_SCHEMAで対象のデータベースを指定することで、そのデータベース内のビューだけを一覧表示できます。 mysql> SELECT
-
MySQLで特定のデータベース内にあるビューのメタデータを確認する方法
MySQLでは、INFORMATION_SCHEMA データベース内の VIEWS テーブルを参照することで、ビューのメタデータ(ビューに関する定義情報)を確認できます。このテーブルには、ビューの定義内容や作成者、更新可否などの詳細が格納されています。ここでは、「Info」という名前のビューを例に、具体的な確認方法を見ていきましょう。ビューのメタデータを取得するクエリ以下のクエリを実行すると、「query」データベース内の「Info」というビューのメタデータを表示できます。mysql> SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_