エンジニア的な技術的なブログ

webエンジニアの開発の知見を書きます。PHP、javascript、postgres、mysql、あと多少のインフラ周りとか。

mysql

date型のカラムに加算、減産してアップデートかける方法

単純なので結論だけ全レコードに30日を加算してアップデート update order set order_date = (order_date + INTERVAL 30 DAY); 減算するなら - INTERVAL検索条件とかは普通にwhere句にやっとけばOKorder_dateをNOW(), CURDATE()とかの現在時を返す関数にすれ…

php-mysqlndとはなんだ?[phpモジュール]

yumでインストールするときに指定するPHPモジュール、 PHP5.6をインストールしたときにmysqlに繋ぐためのモジュールが5.4以前と違っていてphp-mysqlndになっていたので軽く調べる。どうやらmysqlのライセンスの問題などを解決した内容らしい。 機能面でのア…

mysqlがメモリを圧迫する場合には。

mac yosemite にてmysqlをインストールしたところ、 メモリをバカ食い(500M)している 制限を設定する方法は下記の通り。 fujita$ mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc…

あるカラムの値が重複しているレコードを抽出するSQL

久々に記事書くなぁ〜。 こんな感じ。 product_codeが重複しているuser_id 80の情報を抽出する。 >|SQL| SELECT product_id, product_code, create_date FROM productsWHERE user_id = 80 AND product_code IN ( SELECT product_code FROM products WHERE us…

mysqlしか使ったことない人へ postgres超入門1

僕はもともとmysqlばっかり使ってたが、案件でポスグレ(postgreSQL)を使うことがありました。 大した話しではないけど、msyqlとの大きな違いを教えますー違い1:スキーマっていう概念 msyqlだとデータベースがあって、その中にテーブルがある という構造だ…

SELECTした結果をそのまんまINSERTできる

これまたよくあるパターンです。 テーブル Aを検索して、集計などなどして、 テーブル Bに結果をINSERTしたい。 ていうケースについて 結論こんな感じです >|sql| INSERT INTO dtb_category_range_count SELECT range_id, count(product_id) AS cnt FROM dtb…

SELECTした結果はそのまんまUPDATEできるよ! 

エンジニアならよくやると思うけど、 テーブルAの検索結果を集計なりなんなりして、 テーブルBに保存するっていうケース UPDATEにFROM句つかってサブクエリやれば、さくっといける SLECT結果をグルグルループしながらアップデートってのもあるけど、 件数多…

悩んでないかい? indexされてない大量データを鬼早くdeleteする方法 [mysql]

鬼早くdeleteとか書いたけど、 deleteなんて使わない!!! そんなトロトロやってらんないっす>< じゃあどうやのか、 1. create table で新しいテーブル作る 2. insert select で古いテーブルから新しいテーブルに必要なデータ移す 3. テーブル名をそれぞ…