猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

DataBase MySQL

select insert

投稿日:2013年2月5日 更新日:

私は以前SQLの順番にinsert selectと呼んでいて、笑われたことがあります。
select insertだ!と当時の上司に言われました。

なるほど、副問い合わせのselectが実行されて、その結果をinsertする訳ですからその方がピッタリきます。

ダンプを経由せずに、ごっそりテーブルのコピーを作成する場合や、
特定のデータだけのテーブルを作成してテストする場合など、
使いたくなる場合があるのですが、ついつい使い方を忘れてしまうので・・・ :x001:

insert into table1 (select * from tables2 where tables2.id between 1000 and 2000);
insert into table1 (id,name) select id,name from tables2 where tables2.id between 1000 and 2000;

Gooleアドセンス用336

Gooleアドセンス用336

-DataBase, MySQL

執筆者:

関連記事

mysql

MySQL ERROR: Can’t connect to MySQL server on ‘xxx.xxx.x.xx’ (13)

MySQL ERROR: Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’ (13) はSELinuxによる接続 …

mysql

MySQLで相関サブクエリを実行する

相関サブクエリとは、SQLの実行結果の行と行を比較することです。 ある行とある行の時間差を求めることで何秒間隔でデータが登録されているかがわかったり、 ある行とある行の売上差を求めることで、売上の上が …

mysql

MySQLのエラー、クエリ、スロークエリのログ

全て /etc/my.cnf の [mysqld] に追記してサーバーを再起動すれば出力されるようになります。 エラーログは開発時には警告も出力しておけばよいでしょう。 クエリログは全てのSELECT …

mysql

MySQLの予約語はバッククォーテーション囲んで使用する

列名に”from”や”to”を使用したいことがあるはずです。 そうした場合は”`”(バッククォーテーション)で囲みましょう。 insert into m …

mysql

MySQLの連続INSERTを高速にする

もししらなければ確実に、そして恐ろしく効果を発揮できると思います。 INSERTを連続実行する際にボトルネックとなるのはコミットです。 オートコミットをオフにするという手もあるのですが、 INSERT …