web-dev-qa-db-ja.com

mysqlテーブルからテーブルコメントにアクセスするにはどうすればよいですか?

どうすればjust mysqlテーブルからテーブルコメントを取得できますか?以下を試してみましたが、いろいろな理由でうまくいきませんでした。文字列「mycomment」だけを取得する方法を理解したい(理想的にはPerl =経由)

何か助けはありますか?

-- Abbreviated output for convenience.
SHOW TABLE STATUS WHERE Name="foo"
+------+--------+---------+------------+------+----------------+---------------+
| Name | Engine | Version | Row_format | Rows | Create_options | Comment       |
+------+--------+---------+------------+------+----------------+---------------+
| foo  | MyISAM |      10 | Fixed      |    0 |                | my comment    | 
+------+--------+---------+------------+------+----------------+---------------+

そして

SHOW CREATE TABLE foo;
+-------+------------------------------------------------------------------------------+
| Table | Create Table                                                                 |
+-------+------------------------------------------------------------------------------+
| fooo  | CREATE TABLE `fooo` (`id` int(11) NOT NULL PRIMARY KEY) COMMENT='my comment' | 
+-------+------------------------------------------------------------------------------+
22
Sir Robert

OMG Poniesの回答に基づいていますが、INFORMATION_SCHEMA.TABLESの代わりにINFORMATION_SCHEMA.COLUMNSを使用しています。 Webを見て回ったとき、私が見つけたのは列のコメントに関する情報だけでしたが、テーブルのコメントはありませんでした。これはテーブルのコメントを取得する方法です。

SELECT table_comment 
    FROM INFORMATION_SCHEMA.TABLES 
    WHERE table_schema='my_cool_database' 
        AND table_name='user_skill';
+--------------------------+
| table_comment            |
+--------------------------+
| my awesome comment       | 
+--------------------------+
42
Sir Robert

クエリにデータベース名とテーブル名の両方を含めたくない場合は、次を使用できます。

SHOW TABLE STATUS WHERE Name='table_name';

次に、結果の「コメント」キーを取得します(phpのmysqli_fetch_assoc()などの連想コマンドを使用する必要があります)。

3
Jerry