9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

データベース内のカラム一覧をSQL文を使って表示させる

Posted at

#はじめに
##概要
SQL文(SELECT文)を使ってデータベース内に存在するカラムの定義一覧を出力する方法

##背景
マイグレーションも使わず、カラム定義変更が入るたびに誰かがSQLファイルを実行する運用をしていたので、漏れが出ました。開発環境と検証環境でテーブルごとにshow table 〇〇ってやって目で確認するのもあほらしいので、データベース内のカラム定義をSELECT文で出力しました。

##環境
Windows10(開発環境)/Amazon Linux(検証環境)
MySQL5.7

※information_schemaはRDBの標準規格になっているので、MySQLでなくても使えるかも。

#実行したSQL

SELECT
	table_name,
	column_name,
	ordinal_position,
	column_default,
	is_nullable,
	data_type,
	character_maximum_length
FROM
	information_schema.columns
WHERE
    --ここでデータベース名を指定する
	table_schema = ''

information_schemaのcolumnsに問い合わせるとカラムの一覧が出力されます。
上のSQLで出力している内容は以下の通りです。

カラム名 内容
table_name テーブル名
column_name カラム名
ordinal_position カラムの順番
column_default カラムのデフォルト値
is_nullable NULL許可か否か
data_type データ型
character_maximum_length 長さ

ここではshow tableコマンドで表示されそうなものをピックアップして載せています。
MySQLのリファレンスには、ここに載せていない情報についても解説されていますので、気になる方はぜひご覧ください。

#参考URL
MySQL5.7 information_schema colomnsテーブル

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?