2

データベース内の数百のテーブルに対して DESC TableName の CSV ファイルを生成する必要があります。

手伝ってくれませんか?Bashスクリプトを使用する方法があると確信しています。私はmysqldumpを使用してみましたが、それは構造のデータダンプとSQLダンプ用です:(

ありがとうございました!

4

1 に答える 1

2

MySQL 5.0 以降では、information_schema ( http://dev.mysql.com/doc/refman/5.0/en/information-schema.html )を使用できます。

例:

SELECT      CASE ordinal_position 
                WHEN 1 THEN CONCAT('Table ', table_schema, '.', table_name, '\n')
                ELSE ''
            END
,           column_name
,           column_type
,           is_nullable
,           column_key
,           column_default
,           extra
FROM        information_schema.columns
WHERE       table_schema = SCHEMA()
ORDER BY    table_schema
,           table_name
,           ordinal_position

ここでの出力は、DESC から取得したものと同等 (ただし同一ではない) である必要があります。

この場合、クエリは現在のデータベースのテーブルのみをレポートすることに注意してください。WHERE要件に合わせて句を微調整します。

また、警告の言葉: これらのクエリは非常に遅くなる可能性があります。初めて実行する場合。

于 2010-01-27T19:46:53.490 に答える