2016-10-23 11 views
1

DBからTABLE_NAME、TABLE_ROWS、COLUMN_NAME、およびDATA_TYPEをリストする手順を作成するように求められました。mySQL、information_schemaからtable_rowsとcolumn_nameを選択

問題は、INFORMATION_SCHEMA.COLUMNSを使用してcolumn_nameを選択でき、INFORMATION_SCHEMA.tableを使用してtable_rowsを選択できることです。私は両方に参加しようとしたが成功しなかった。

はまた、私はCHARACTER_MAXIMUM_LENGTH> 5 とVARCHAR列にフィルタリングする必要がありますが、私が行けば「WHERE CHARACTER_MAXIMUM_LENGTH> 5」それは同様にvarchar型だけでなく、文字data_typesないだけを取得します。

EDITここ は、これまで

SELECT c.table_name, c.column_name, c.data_type, t.table_rows, CHARACTER_MAXIMUM_LENGTH 
    FROM information_schema.columns c 
    JOIN information_schema.tables t ON c.table_name = t.table_name 
    WHERE t.table_schema = 'SAMPLE' AND CHARACTER_MAXIMUM_LENGTH > 5; 

私は適切に動作するように参加してしまったと思うが、私はまだ取得するかどうかはわかりませんという「CHARACTER_MAXIMUN_LENGHT> 5」私が持っているものですvarcharデータ型のみをフィルタリングするには...

任意の考えですか?

+1

「私は両方に参加しようとしませんが、何の成功」 - 動作しませんでしたクエリを表示してください。 –

+0

完了、申し訳ありません。編集した質問 – Lberteh

答えて

1

はあなたの状態からvarcharのを除くすべてのデータタイプを除外:

AND (CHARACTER_MAXIMUM_LENGTH > 5 OR DATA_TYPE <> 'varchar') 
関連する問題