mysqlのテーブル、カラム名の一覧を調べる方法のメモ。
mysql のカラム情報は information_schme DB の columns テーブルに記録されています。
以下のテーブルを作成します。
上記のテーブル情報を確認できます。
mysql のカラム情報は information_schme DB の columns テーブルに記録されています。
mysql> show fields from columns; +--------------------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+-------+ | TABLE_CATALOG | varchar(512) | YES | | NULL | | | TABLE_SCHEMA | varchar(64) | NO | | | | | TABLE_NAME | varchar(64) | NO | | | | | COLUMN_NAME | varchar(64) | NO | | | | | ORDINAL_POSITION | bigint(21) unsigned | NO | | 0 | | | COLUMN_DEFAULT | longtext | YES | | NULL | | | IS_NULLABLE | varchar(3) | NO | | | | | DATA_TYPE | varchar(64) | NO | | | | | CHARACTER_MAXIMUM_LENGTH | bigint(21) unsigned | YES | | NULL | | | CHARACTER_OCTET_LENGTH | bigint(21) unsigned | YES | | NULL | | | NUMERIC_PRECISION | bigint(21) unsigned | YES | | NULL | | | NUMERIC_SCALE | bigint(21) unsigned | YES | | NULL | | | CHARACTER_SET_NAME | varchar(32) | YES | | NULL | | | COLLATION_NAME | varchar(32) | YES | | NULL | | | COLUMN_TYPE | longtext | NO | | NULL | | | COLUMN_KEY | varchar(3) | NO | | | | | EXTRA | varchar(27) | NO | | | | | PRIVILEGES | varchar(80) | NO | | | | | COLUMN_COMMENT | varchar(255) | NO | | | | +--------------------------+---------------------+------+-----+---------+-------+
以下のテーブルを作成します。
drop table if exists test1; create table test1 ( col1 varchar(256), col2 varchar(256) ); drop table if exists test2; create table test2 ( col1 varchar(256), col2 varchar(256) );
上記のテーブル情報を確認できます。
mysql> select table_name, column_name from information_schema.columns -> where table_schema = '{DB名}'; +------------+-------------+ | table_name | column_name | +------------+-------------+ | test1 | col1 | | test1 | col2 | | test2 | col1 | | test2 | col2 | +------------+-------------+