"PostgreSQL リフレクション" "MySQL リフレクション"

で検索してた.
つまり,データベースの世界において,テーブル自身の属性(どんなテーブルがあるか?とか,そのテーブルにどんな列があるか?)を調べる方法を知りたかった.
どうしてもJavaな人間なので,"リフレクション" で調べりゃでるだろうと思っても出ず.

仕方ないので真面目にPostgreSQLのマニュアルを読んでいたら情報スキーマというそうだ.これはMySQLもいっしょらしい.

select * from information_schema.columns where table_name='columns' 
order by ordinal_position;

ってやると,すべてのテーブルのすべての列についての情報をもつテーブルがもつすべての列についての情報が出せるぞ!

ところでこの情報スキーマ自身をいじるとCreateTableだのAlterTableだのコマンドをたたかなくてもテーブルが作成,編集できるのだろうか?
...と思ったら情報スキーマはView扱いなので無理なようだ