最近頻繁に使用する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がよかったんですが。。。
困ったものです(でも結局、このまま押し切って使うことにしました
早いもので今回が今年最後のブログとなりそうです。
少し早いですが皆様、よいお年をお過ごしくださいませ。
来年度もよろしくお願い致します。
コメントフォーム
トラックバック
最近の記事
- もうすぐ健康診断があるんだ・・・ [2010年09月02日 : 阿部恵]
- Photoshopで壁紙を作りながら、基本的な使い方を覚える [2010年09月01日 : 鴨田健次]
- はじめての共同作業 Canvas編 (node.js + websocket) [2010年09月01日 : 中川善樹]
- 「PHP×Flex(後編)」PHPテクニカルセミナー(無料)第4弾の募集を開始しました!! [2010年08月26日 : 和田記光]
- 【HTML5】Canvasでお絵かきしてみた(前編) [2010年08月25日 : 橋本章史]
- MacにgroongaのMySQL用ストレージエンジン [2010年08月23日 : 笹亀弘]
- Appleのサイトで見たiPhone4をFireworksで描いてみました-1/2 [2010年08月19日 : 和田記光]
- iPad版の会社紹介を作ってみました [2010年08月19日 : 小林有佳]
- iPhoneアプリ開発開始時に気をつけるべきファイルの取り扱い (2) [2010年08月19日 : 亀本大地]
- symfonyセミナー動画無料公開! [2010年08月13日 : 岡本雄樹]



最近のコメント