クマの手も借りたい
馬とテニスとリラックマが好きな IT 系のエンジニアです。
データベース

MySQLでテーブル定義を取得

似たような構成のテーブルを作る時に、今までは mysqldump コマンドで -d オプションを付けてテーブル定義だけを取得するコマンドを実行していました。

これでも十分に要件は満たせるのですが、MySQL のコンソールからサクっと出したい場合もあるので、SHOW CREATE TABLE コマンドで出力してみます。

SHOW CREATE TABLE

SHOW CREATE TABLE table_name;

\G を最後に付けた方が多少は見やすいでしょうか。

       Table: table_name
Create Table: CREATE TABLE `table_name` (

  (省略)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

それほど使う機会はないですが、SHOW 系のコマンドは DB やテーブル、INDEX など、いざって時にすぐに情報が取り出せるので、基本的なものは覚えておくか、コマンドをまとめておくといいですね。

# 指定のテーブルのINDEXの確認
SHOW INDEX FROM table_name;

# テーブルの情報
SHOW TABLE STATUS;

SHOW TABLE STATUS LIKE 'table_name'\G;

よく、Rows の値がレコード数と一致しないという話を見かけますが、ストレージエンジンが InnoDB の場合は一致しないです。

昔は更新の少ない参照メインのテーブルや全文検索用のテーブルは、MyISAM のストレージエンジンを採用していましたが、この場合は Rows とレコード数が一致します。

InnoDB の場合は素直に COUNT を取得するのがいいですね。

そういえば、MySQL5.7 から InnoDB でも全文検索ができるんですね。

Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/09/21 11:58:20時点 Amazon調べ-詳細)

あなたにオススメ