--- title: ターミナルから mysql の命令を実行する author: kazu634 date: 2009-11-11 url: /2009/11/11/_1390/ wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4919;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - mysql ---
基本的に mysql を実行すると、インターラクティブに命令を実行することになります。これをシェル上から実行できるとうれしいと思い、調べてみました。
するとこんな記述を発見しました:
コマンドの実行結果をmysqlコマンドに渡して実行し、ファイルに出力 (1)
$ cat (SQL)ファイル名 | mysql [-t -N] データベース名 > (OUT)ファイル名コマンドの実行結果をmysqlコマンドに渡して実行し、ファイルに出力 (2)
$ echo "select * from テーブル名" | mysql [-t -N] データベース名 > (OUT)ファイル名オプション「-t」、「-N」については、ファイルに記述したSQL文を実行するを参照してください。
というわけで自分でも実行してみました。
~/bin on kazu634 [508] $: echo "select * from Starbucks where id=1\G" | mysql5 -uuser -ppassword -h hostname databasename *************************** 1. row *************************** id: 1 shopname: 錦糸町 丸井店 post_code: 130-0022 address: 東京都墨田区江東橋3-9-10 tel: 03-3631-4701 hours: 月~木: 7:00 ~ 22:30金: 7:00 ~ 22:30土: 7:00 ~ 22:30日: 7:00 ~ 22:30祝日: 7:00 ~ 22:30##休日:不定休 nearby: 錦糸町駅 ( JR総武本線、JR総武線 ) 徒歩3分 丸井錦糸町店 lat: NULL lng: NULL