MySQL

 

MySQLで辞書からカラムを検索する

information_schemaを使って、全テーブルの中から特定のカラム名のカラムを検索します。例えば全テーブルにcreate_date・update_dateが存在する事等を確認する事ができます。

新サイト、tree-mapsを公開しました!!

tree-maps: 地図のWEB TOOLの事ならtree-mapsにお任せ!

地図に関するWEB TOOL専門サイトです!!

大画面で大量の緯度経度を一気にプロット、ジオコーディング、DMS<->DEGの相互変換等ができます!

◯ 広告

information_schemaとは、MySQLの内部構造の情報が格納されているスキーマです。

カラム名や型やフィールド長等の情報を検索できるため、特定のカラム名を持つカラムを検索する事ができます。

では早速検索してみましょう。

mysql> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select table_schema, table_name, column_name, column_type from columns where table_schema='info' and column_name like '%date%';
+--------------+------------+-------------+-------------+
| table_schema | table_name | column_name | column_type |
+--------------+------------+-------------+-------------+
| info         | t1         | create_date | datetime    |
| info         | t1         | update_date | datetime    |
| info         | t2         | create_date | datetime    |
| info         | t3         | create_date | datetime    |
| info         | t3         | update_date | datetime    |
+--------------+------------+-------------+-------------+
5 rows in set (0.01 sec) 

t2にupdate_dateカラムが無い事が解りますね。

よくある使い道としては、カラムが存在するかどうか、型が全く同じかどうかを確認する時に使えます。

リプレース案件等で他人が構築したDBを調査する際に重宝します。

カラム名は同じだが、テーブルによってフィールド長が違っていたりする等のケースを知る事ができたりします。

treeおすすめの書籍です!
【送料無料】実践ハイパフォ-マンスMySQL第2版

【送料無料】実践ハイパフォ-マンスMySQL第2版
価格:4,830円(税込、送料別)

【送料無料】エキスパ-トのためのMySQL運用+管理トラブルシュ-ティングガイド

【送料無料】エキスパ-トのためのMySQL運用+管理トラブルシュ-ティングガイド
価格:3,465円(税込、送料別)

【送料無料】基礎からのMySQL改訂版

【送料無料】基礎からのMySQL改訂版
価格:3,129円(税込、送料別)

◯ 広告