Mysql 開発で役立つSQL



Mysqlの開発で役立つSQLの紹介

テーブルのCREATE文を出力
SHOW CREATE TABLE 【テーブル名】;

テーブル一覧出力
SHOW TABLES;

テーブル一覧出力(TABLE,VIEW判定)
SHOW FULL TABLES;
※Table_typeの値は、テーブルに対してはBASE TABLEで、ビューに対してはVIEWです。

テーブルの詳細情報を取得
SELECT
	*
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 【DB名】
ORDER BY TABLE_NAME;
※DB名がない場合は全DBのテーブルを取得するので注意してください。

列の情報を取得
DESCRIBE 【テーブル名】;
OR
SHOW COLUMNS FROM 【テーブル名】;

更にコメントアウト等の情報まで取得します。
SHOW FULL COLUMNS FROM 【テーブル名】;

列の詳細情報を取得
SELECT
	*
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 【DB名】
AND TABLE_NAME = 【TABLE名】
ORDER BY TABLE_NAME;
※DB名、TABLE名がない場合は全DBのテーブルを取得するので注意してください。
また、TABLE名を入れないようにして同じカラム名のものの型があってないなどの使い方が出来るので重宝します。

プロセス取得
Mysql上で動いているプロセスを見ることが出来ます。
SHOW PROCESSLIST;

プロセス情報取得
SHOW PROCESSLIST;

プロセスキル
上記のプロセス取得SQLで表示したプロセスIDを指定してMysqlのプロセスを落とすことが出来ます。
KILL 【プロセスID】
SQLが遅くて戻ってこないやテーブルをロックして詰まってしまった場合、強制的に該当のプロセスを落とすことが出来るので重宝します。


コメントを残す