MySQLで(僕が)よく使う基本的コマンドまとめ
最近MySQLを使うことが増えているので、僕がよく使うコマンドを備忘録的にまとめてみた。全部基本的なコマンドなので特に面白いことは無く、誰かが得するわけでも無く、ただただ僕のためだけのまとめです。
現在実行されているSQLなどのプロセスの一覧を確認する。実行時間が見えるので長時間化しているSQLを特定するのに役立つ。
現在実行されているSQLなどのプロセスの一覧を確認する。実行時間が見えるので長時間化しているSQLを特定するのに役立つ。
show processlist;show processlistだとSQL文が省略されてしまう。完全行で出力する場合はfullを付与する。
show full processlist;データベースの一覧を表示する。
show databases;使うデータベースを指定する。
use DATABASE;テーブルの一覧を表示する。
show tables;テーブルの構成を確認する。
desc TABLE_NAME;テーブルのINDEXを確認する。
show index from TABLE_NAME;実行計画を確認する。
explain SQL文(ex: explan select * from mydata);CSVファイルをTABLEにインポートする。MySQLが動いているサーバ上にファイルがある場合。
load data infile "FILE.csv" into table TABLE_NAME;MySQLに接続しているクライアントプログラム側にファイルがある場合、例えばEC2からRDSに繋いでいる場合などは、localオプションを使用してクライアントプログラム側のファイルをloadする。
load data local infile "FILE.csv" into table TABLE_NAME;普通にload dataするとinsertが実行されるので主キーが重複しているとスキップされる。主キーが重複しているとupdateしたい場合はreplaceオプションを付与する。
load data local infile "FILE.csv" replace into table TABLE_NAME;区切り文字の指定はfields terminatedで、文字列の囲み記号の指定はoptionally enclosedで、改行コードの指定はlines terminatedで行う。
load data local infile "FILE.csv" replace into table TABLE_NAME fields terminated by ',' optionally enclosed by '\'' lines terminated by '\r\n'load dataでwarningが出た場合には以下コマンドで確認出来る。
show warnings;