SELECT ~ INTO OUTFILE output.csv の場合、DB サーバに /tmp/hoge.csv は出力される。 コマンド実行するサーバと DB サーバが異なる場合は注意が必要です。
1 2
use dbname SELECT * INTO OUTFILE'/tmp/hoge.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '' LINES STARTING BY '' TERMINATED BY '\r\n' FROM table;
コマンドライン SQL ファイルをロードし実行結果を CSV に保存
1
mysql -h <host> -u <user> -p<password> <db_name> -e "`cat query.sql`" | sed -e 's/\t/,/g' >/tmp/result.csv
ALTER TABLE product CHANGE `no` `id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商品ID';
インデックス一覧表示
1
SHOW INDEXES FROM <table>;
インデックス追加
1 2 3
ALTER TABLE <table> ADD INDEX <index name>(<column>);
ALTER TABLE <table> ADD INDEX <index name>(<column1>,<column2>);
インデックス削除
1
ALTER TABLE <table> DROP INDEX <index name>;
ユニーク追加
1
ALTER TABLE <table> ADD UNIQUE(<column>);
ユニーク削除
DB の文字コード確認
1
SHOW CREATE DATABASE dbname
gz 形式で圧縮状態のファイルを特定 DB スキーマへ実行
1
zcat dump.sql.gz | mysql -u <user> -p<password> dbname
全テーブルの統計情報をサイズ順に一覧表示
1
SELECT table_name, engine, table_rows AS tbl_rows, avg_row_length AS rlen, floor((data_length + index_length) / 1024 / 1024) AS allMB, floor((data_length) / 1024 / 1024) AS dMB, floor((index_length) / 1024 / 1024) AS iMB FROM information_schema.tables WHERE table_schema = database() ORDER BY (data_length + index_length) DESC;
テーブルの文字コード等確認
1 2 3 4 5 6 7
SELECT * FROM information_schema.schemata WHERE schema_name = 'database_name';