勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

MySQLでWhere句を使ってカラム指定でデータコピー

      2016/08/22

MySQLで大量のデータを保存しているテーブルがあり、そのデータを絞った上で尚且つカラムを指定して他のテーブルにコピーしたかった。ダンプしてインサートしようかと思って少し試したところデータ量が多いからか時間がかかりすぎた。何か方法は無いか探したところ簡単にコピーできる方法があった。

 

SQL文

例えば以下条件の場合は、

  • テーブルAからテーブルBにコピー
  • カラムはidとnameを入れたい
  • テーブルBには新カラムのコピー日時をregist_dateカラムとして入れたい
  • WHERE句はテーブルAのdateカラムで2016-01-01から2016-01-31までを指定

このような形になる。WHERE句はさらにANDとかで絞込み検索が可能。

 

その他

絞込み検索をダンプしてインポートする方法だと100万件ほどのデータで1時間ほどかかったが、この方法だと5分もかからずに処理できた。

 - MySQL

  関連記事

msyql-image
MySQLで複数のコード及びスコアで検索して、スコアが無いものは0を取得する

やりたかった事は下記の通り。 ・ユニークなコードがあり、そのコードに対して複数の ...

msyql-image
異なるVPS間でMySQLの接続を行う

異なるVPS間でMySQL接続を行った際のメモ。 さくらVPS(IP:111.1 ...

msyql-image
mysqldumpが使えないレンタルサーバでMySQLのバックアップ

mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...

images
エラー管理まとめ

■エラーログをとる。 error_reporting(E_ALL ^ E_NOT ...

msyql-image
MySQLのエラーメール送付

MySQLエラーを取得してエラーメール送付。 <? error_repor ...

msyql-image
MySQLでJOINの高速化

JOINで無茶苦茶悩んだのでメモ。 やりたかった事は、MySQLで ・テーブルA ...

msyql-image
MySQLでREGEXPについて

SQL文にREGEXPというのを見てこれ何? となったのでメモ。 ■参考サイト ...

msyql-image
ランダム表示のページング

MySQLからデータを持ってくる際に、 ランダムな表示を行ってほしいと言われた。 ...

msyql-image
MySQLでランダムに取得

SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...

msyql-image
MySQLで月別に集計を行う。あと日付時刻関数。

現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...