MySQLで特定のデータベースに保存された関数の一覧と詳細情報を確認する方法
SHOW FUNCTION STATUS でストアドファンクションの情報を取得する
MySQLでは、SHOW FUNCTION STATUS ステートメントを使用することで、特定のデータベースに保存されているストアドファンクション(関数)の一覧と、それぞれの詳細情報を簡単に確認できます。
次のように WHERE db = 'データベース名' という条件を付けて実行するのが基本的な使い方です。
mysql> SHOW FUNCTION STATUS WHERE db = 'query'\G
*************************** 1. row ***************************
Db: query
Name: factorial
Type: FUNCTION
Definer: root@localhost
Modified: 2021-11-16 14:04:48
Created: 2021-11-16 14:04:48
Security_type: DEFINER
Comment:
character_set_client: cp850
collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
*************************** 2. row ***************************
Db: query
Name: Hello
Type: FUNCTION
Definer: root@localhost
Modified: 2017-11-12 11:42:31
Created: 2017-11-12 11:42:31
Security_type: DEFINER
Comment:
character_set_client: cp850
collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
2 rows in set (0.16 sec)
この実行例では、データベース「query」に登録されている2つの関数(factorial と Hello)の情報が縦型形式(\G)で表示されています。
出力結果の主な項目の意味
- Db: 関数が登録されているデータベース名
- Name: 関数の名前
- Type: オブジェクトの種類(ここでは FUNCTION)
- Definer: 関数を作成・定義したユーザーアカウント
- Modified / Created: 最終更新日時と作成日時
- Security_type: セキュリティタイプ(DEFINER または INVOKER)
- character_set_client / collation_connection: クライアント側の文字セットと接続の照合順序
- Database Collation: データベースのデフォルト照合順序
なお、条件を指定せずに SHOW FUNCTION STATUS; を実行すると、ユーザーがアクセス権を持つすべてのデータベースの関数が一覧表示されます。特定のデータベースだけを調べたい場合は、上記のように WHERE db = 'データベース名' を指定すると効率的です。
-
特定の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_