Archives by date

You are browsing the site archives by date.

【MySQL】リモート接続している外部DBのデータを接続元のローカルディスクにCSV出力する方法。

WEBサーバーとDBサーバーが一緒の場合は「into outfile」文を用いることで
ローカルディスクにCSVエクスポートを行えるが、DBがリモート接続の別サーバーだとこれが出来ない。

そんな時は下記の様にすると幸せになれる模様。

mysql -u [ユーザー名] -p -h [DBサーバーホスト名] [DB名] -e "[実行するSQL文]" | sed -e 's/\t/,/g' > [出力CSVファイルパス]

とても素晴らしい神SQLだね。

 

【MySQL】シェルからSQLコマンドを送信する方法。

めも。

mysqlにログイン時、「-e」オプションに続けてSQLを記述すると
実行したいSQLをmysql側に送りつける事ができる。

mysql -u root -p db_name -e "select * from tbl_name where 1 = 1"

と言った具合。

 

【MySQL】文字列を繰り返す。

めも。

select repeat('hoge', 3)

↓

hogehogehoge

 

【MySQL】文字列の長さを求める。

めも。

select length('1234567890');

↓

10

 

【MySQL】文字列を検索する。

文字列の中から特定の文字が見つかるまでのインデックス番号を求める方法。

select locate('abc', '00000000abc0000000');

↓

9

 

【MySQL】文字列を切り抜く。

めも。

select substring('123456789', 2);

↓

23456789


select substring('123456789', 2, 5);

↓

23456

第3引数を指定しない場合、第2引数から最後までの文字列が返却される。
ちなみにMySQLの1文字目は0でなく1から始まるので注意されたし。

 

【MySQL】文字列を置換する。

めも。

select replace('hogehogehoge', 'o', '!!');

↓

h!!geh!!geh!!ge

分かりやすいね。

 

【MySQL】文字列の左側を指定文字で指定数まで埋める。

めも。

select lpad('hoge', 10, '0');

↓

000000hoge

第3引数はクォーテーションでくくらないとおかしいことになるので注意。