最近頻繁に使用するMySQL関数など
こんばんは。笹亀です。
先週あたりからめっぽう寒くなってきました。
どうやら大寒波のおかげで心配されていた今年のスキー場の雪の心配はなさそうです。
さて、今回は頻繁に使うことを自分へのメモの意味でも記事にまとめさせていただきました。
みなさんの参考になれば幸いです。
ーーーMySQLシリーズーーー
■mysqldumpのオプション「--skip-extended-insert」
データベースのデータ(INSERT)を1行のINSERT文にするのではなく、複数行のINSERT文として出力する
自分が使った用途:ダンプを取ったデータを特定のキーワードでgrepするため
用途は限られますが、便利です。このオプションを見つけるのに少し苦労しました^^;
■REPLACE関数
MySQLの文字列置換する関数
自分が使った用途:データベース内の文字を一括で置換するため
間違えると悲惨なことになりますのでちゃんとバックアップしてから実行するようにしましょう。
■登録日から30日ごとに処理をするデータを算出する
DATEDIFFとMOD関数を使ってSQLで算出する
自分が使った用途:登録日から30日ごとに通知メールを送りたいときに使用
→日数が0(登録日が当日)の場合は除く
[DATEDIFFの実行サンプル]
○○日ごとのデータを取得するときに非常に効果的、主にバッチ処理などで活用させていただいております。MySQLの関数は負荷を気にしなければ、組み合わせて次第でいろいろできて恐るべしです。
ーーーおまけ サーバインストール編ーーー
■MySQL5.1のCentOs5.4のyumでインストール時の注意事項
「yum install mysql*」デフォルトでは5.077(2009/12/21現在)がインストールされるので、remi レポジトリを追加してMySQL5.1系をインストールしました。
下記の手順で更新する
MySQL5.1系を入れるとPHPも5.3系にアップデートされてしまう(困
本当はPHP5.2.11とMySQL5.1がよかったんですが。。。
困ったものです(でも結局、このまま押し切って使うことにしました
早いもので今回が今年最後のブログとなりそうです。
少し早いですが皆様、よいお年をお過ごしくださいませ。
来年度もよろしくお願い致します。
先週あたりからめっぽう寒くなってきました。
どうやら大寒波のおかげで心配されていた今年のスキー場の雪の心配はなさそうです。
さて、今回は頻繁に使うことを自分へのメモの意味でも記事にまとめさせていただきました。
みなさんの参考になれば幸いです。
ーーーMySQLシリーズーーー
■mysqldumpのオプション「--skip-extended-insert」
データベースのデータ(INSERT)を1行のINSERT文にするのではなく、複数行のINSERT文として出力する
自分が使った用途:ダンプを取ったデータを特定のキーワードでgrepするため
用途は限られますが、便利です。このオプションを見つけるのに少し苦労しました^^;
■REPLACE関数
MySQLの文字列置換する関数
自分が使った用途:データベース内の文字を一括で置換するため
UPDATE hoge_t SET body = REPLACE(body, 'www.asial.co.jp', 'blog.asial.co.jp');
間違えると悲惨なことになりますのでちゃんとバックアップしてから実行するようにしましょう。
■登録日から30日ごとに処理をするデータを算出する
DATEDIFFとMOD関数を使ってSQLで算出する
自分が使った用途:登録日から30日ごとに通知メールを送りたいときに使用
- SELECT
* FROM user WHERE MOD(DATEDIFF(now(),regist_date), 30) = 0 AND DATEDIFF(now(),regist_date) <> 0;
→日数が0(登録日が当日)の場合は除く
[DATEDIFFの実行サンプル]
○○日ごとのデータを取得するときに非常に効果的、主にバッチ処理などで活用させていただいております。MySQLの関数は負荷を気にしなければ、組み合わせて次第でいろいろできて恐るべしです。
ーーーおまけ サーバインストール編ーーー
■MySQL5.1のCentOs5.4のyumでインストール時の注意事項
「yum install mysql*」デフォルトでは5.077(2009/12/21現在)がインストールされるので、remi レポジトリを追加してMySQL5.1系をインストールしました。
下記の手順で更新する
- wget
http://rpms.famillecollet.com/el5.i386/remi-release-5-6.el5.remi.noarch.rpm - rpm
-Uvh remi-release-5-6.el5.remi.noarch.rpm - yum
--enablerepo=remi,epel,rpmforge update mysql*
MySQL5.1系を入れるとPHPも5.3系にアップデートされてしまう(困
本当はPHP5.2.11とMySQL5.1がよかったんですが。。。
困ったものです(でも結局、このまま押し切って使うことにしました
早いもので今回が今年最後のブログとなりそうです。
少し早いですが皆様、よいお年をお過ごしくださいませ。
来年度もよろしくお願い致します。
トラックバックURI
最近の記事
システム開発エンジニア募集! [2012年02月03日 : 小林有佳]
OpenVPNで細々便利な設定 [2012年01月31日 : 門脇優児]
【iOS】Viewの開発・デバッグに役立つ色々 [2012年01月23日 : 中川善樹]
PHPDocumentorの利用方法まとめ [2012年01月19日 : 笹亀弘]
Google Chart Toolsを使ってサイトマップを描こう! [2011年12月21日 : 志田仁美]
stumpwm設定v2 [2011年12月19日 : 門脇優児]
Mashup Awards 7の授賞式が行われました [2011年12月16日 : 中川善樹]
社員旅行に行きました [2011年12月12日 : 大橋寛子]
iCloud風のアイコンを作成する(Fireworks) [2011年12月07日 : 和田記光]
iScroll4でネイティブに近いスマホ向けHTMLページを作成する [2011年12月02日 : 松田惇]













コメントフォーム