MySQL

【MySQL】文字列の前後から空白を取り除く。

めも。

select trim('     aaa     ');

↓

aaa

 

【MySQL】文字列の左側から指定文字数文切り出す。

めも。

select left('abcde', 2);

↓

ab

 

【MySQL】文字列の右側から指定文字数文切り出す。

めも。

select right('.com/', 1);

↓

/


select right('.com/', 3)

↓

om/

今回はURLの末端にスラが有るか無いかを判定するのに使ってみた。

 

【MySQL】サブクエリを発行する際の注意。

自分用メモ。

・テーブルに対してデータを追加・更新する場合、サブクエリ内に同一テーブルを指定出来ない。

・そういう時はサブクエリ内のFrom句にテンポラリテーブルを指定する。

・サブクエリ内のFrom句はテンポラリテーブルとして扱うことが可能。

・テンポラリテーブルには「AS」キーワードで必ず名前をつけてあげないと怒られる。

・これで「Error 1093 (ER_UPDATE_TABLE_USED)」は回避できるハズ。

 

【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