Hatena::ブログ(Diary)

(ひ)メモ このページをアンテナに追加 RSSフィード

2008-01-22 (Tue)

mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法

追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。

個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。



常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++

おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測)



  • mysqlコマンドを--auto-rehashオプションをつけて起動する
$ mysql --auto-rehash
  • my.cnfの[mysql]セクションにauto-rehashと書いておく
$ cat ~/.my.cnf
[mysql]
prompt="\u@\h[\d]> "
auto-rehash
#show-warnings

  • 対話的なmysqlで、rehashコマンドを実行する
    • これは「auto」じゃないので、use XXXでDBを移動したら、補完候補テーブルをrehashする必要がある
mysql> rehash

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

2003 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 12 |
2012 | 01 | 02 |