2011.02.25 Friday
mysqlコマンドラインツールでつかってほシー、二つのC(シー)。
JUGEMテーマ:コンピュータ
最近Windows上でmysqlコマンドラインツールを頻繁に使っている私です。
mysqlコマンドラインツールは、様々な起動オプションやコマンドを持っていますので、
なかなか全て覚えきれません。今日は対話的に利用する際に便利な二つのC(シー)を紹介します。
1. ¥c
2. Ctrl+c
1. ¥c
mysqlコマンドラインで、コマンドを入力していて「実は全然思っていたのではなかった、取り消したい」
と思うときに使います。例えば、
mysql> alter table t1 add columnくらいまで、タイプして「あれー、そもそもalter tableじゃなかった」
と思うとき。当然、BSで戻ることもできますが、ここで、慌てず騒がず¥cを入力すると、しれっと無視してもらえます。
mysql> alter table t1 add column¥c←ここで¥cを入力してEnterを押すと、この行は無視されて新たな行に制御が移ります。
mysql>
実は起動時のバナーにも書いてあるのですが、つい最近まで気づいていませんでした。
[起動時のバナー]
Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 4
Server version: 5.5.8 MySQL Community Server (GPL)
Type 'help;' or '¥h' for help. Type '¥c' to clear the current input statement.←ここですね。
mysql>
2. Ctrl+c
Ctrl+cと書いてあるからといって、'C', 't', 'r', 'l'...と順番にタイプしてはダメです。
Ctrl+cは「Ctrl」キーを押しながら、'c'を押すという意味ですよ(^_^;)
これは長時間かかるようなクエリを発行してしまったときに、そのクエリをキャンセル仕組みです。
(ただしこの機能は5.0.25以降の5.0.x, 5.1.10以降の5.1.x, 5.5.xに付属するmysqlコマンドツールで有効です)
mysql> select sleep(1000); ←このように長いクエリを実行中にCtrl+Cを押すと、クエリは終了する。
Ctrl-C -- sending "KILL QUERY 5" to server ...
Ctrl-C -- query aborted.
+-------------+
| sleep(1000) |
+-------------+
+-------------+
1 row in set (1.83 sec)
mysql> ^C ←クエリを実行していないときにCtrl+Cを押すと、mysqlコマンドラインツール自体が終わってしまう。
ブログの以下の過去エントリも参考にしてみてください。
MySQLクライアントの改善: Ctrl+Cで実行中のSQLをキャンセル