📝
よく使うのにすぐ忘れる 怒りの MySQL INFORMATION_SCHEMA 検索クエリ
MySQL の INFORMATION_SCHEMA.COLUMNS などから検索するのをよくやるのに
一向に記憶できないので怒りのメモ
その1 似たような列名をもつテーブルを検索
-- 似たような列名をもつテーブルを検索
SELECT
table_name
, column_name
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME like "%hoge%" -- 検索したい列名. LIKEも可
AND TABLE_SCHEMA = "myDatabaseName" -- 検索対象のDB名
;
その2 似たようなテーブル名をもつテーブルを検索
-- 似たようなテーブル名をもつテーブルを検索
SELECT
*
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='myDatabaseName' and TABLE_NAME like '%fuga%'
その3 容量おおきいテーブルを探すクエリ
-- 容量おおきいテーブルを探すクエリ
SELECT
table_name, engine, table_rows AS tbl_rows,
avg_row_length AS rlen,
floor((data_length+index_length)/1024/1024) AS `総容量Mb`,
floor((data_length)/1024/1024) AS `データ容量Mb`,
floor((index_length)/1024/1024) AS `インデックス容量Mb`
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_schema=database()
ORDER BY
(data_length+index_length) DESC;
Discussion