MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで特定のデータベースのストアドプロシージャ一覧と詳細情報を確認する方法

SHOW PROCEDURE STATUSでストアドプロシージャの一覧を取得する

MySQLでは、SHOW PROCEDURE STATUSステートメントにWHERE db = 'データベース名'という条件を付けることで、特定のデータベースに存在するストアドプロシージャの一覧を、作成日時や定義者などの詳細情報とともに確認できます。

以下は、queryというデータベース内のストアドプロシージャを確認する実行例です。

mysql> SHOW PROCEDURE STATUS WHERE db = 'query'\G
*************************** 1. row ***************************
                  Db: query
                Name: allrecords
                Type: PROCEDURE
             Definer: root@localhost
            Modified: 2017-11-11 09:56:11
             Created: 2017-11-11 09:56:11
       Security_type: DEFINER
             Comment:
character_set_client: cp850
collation_connection: cp850_general_ci
  Database Collation: latin1_swedish_ci
1 row in set (0.01 sec)

出力結果の各項目の意味

  • Db: ストアドプロシージャが属するデータベース名
  • Name: ストアドプロシージャの名前
  • Type: オブジェクトの種類(PROCEDURE=プロシージャ、FUNCTION=ファンクション)
  • Definer: プロシージャを作成したユーザーアカウント
  • Modified / Created: 最終更新日時と作成日時
  • Security_type: 実行時のセキュリティコンテキスト(DEFINERまたはINVOKER)
  • character_set_client / collation_connection: 作成時に使用された文字セットと照合順序

information_schemaを使った代替方法

information_schema.ROUTINESテーブルを参照することでも、同様の情報を取得できます。こちらはSQLのSELECT文なので、必要な列だけを柔軟に抽出できるのが利点です。

SELECT ROUTINE_NAME, ROUTINE_TYPE, DEFINER, CREATED, LAST_ALTERED
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = 'query';

このように、SHOW PROCEDURE STATUSを使えば、単なるプロシージャ名の一覧だけでなく、定義者や作成日時などのメタ情報も一度に把握できます。データベースの保守や監査の際に非常に便利なコマンドです。

  1. 特定のMySQLデータベースに保存されているビューの一覧を確認する方法

    MySQLでは、いくつかの異なるクエリを使って、特定のデータベースに保存されているビュー(VIEW)の一覧を簡単に確認できます。この記事では、「query」という名前のデータベースを例に、代表的な3つの方法を紹介します。 1. information_schemaを使ってビュー一覧を取得する まずは、information_schemaデータベースのTABLESテーブルを参照する方法です。TABLE_TYPEが「VIEW」であるレコードを抽出し、TABLE_SCHEMAで対象のデータベースを指定することで、そのデータベース内のビューだけを一覧表示できます。 mysql> SELECT

  2. MySQLで特定のデータベース内にあるビューのメタデータを確認する方法

    MySQLでは、INFORMATION_SCHEMA データベース内の VIEWS テーブルを参照することで、ビューのメタデータ(ビューに関する定義情報)を確認できます。このテーブルには、ビューの定義内容や作成者、更新可否などの詳細が格納されています。ここでは、「Info」という名前のビューを例に、具体的な確認方法を見ていきましょう。ビューのメタデータを取得するクエリ以下のクエリを実行すると、「query」データベース内の「Info」というビューのメタデータを表示できます。mysql> SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_