勉強したことのメモ

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
お名前.comの共用サーバー(SD)にphpmyadminを入れる

公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...

msyql-image
MySQLでユーザー作成時にエラーが発生

SSHからrootアカウントでMySQLにログインし、ユーザーを作成しようとする ...

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

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

msyql-image
権限が無い場合のエラー

SQLでINSERTする際、見たことに無いエラーに遭遇した。 INSERT co ...

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

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

msyql-image
MySQLが起動も再起動もできない

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...

msyql-image
プリペアドステートメント

個人的に得た内容として、SQL文だけ先にDBに送って、 変数は後で送る。だからS ...

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

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

msyql-image
MySQLで構文エラーが出た際は予約語も疑う

MySQLで構文エラーが発生しており、チェックしたところ、どう見ても構文的には間 ...

msyql-image
MySQLのREGEXPで半角記号を検索したい場合

MySQLのREGEXPで半角記号を検索したい場合 \\を付けてエスケープしない ...