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の連続INSERTを高速にする

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

mysql

MySQLにファイルからSQLを読み込む

MySQLにファイルからSQLを読み込む方法は 意外と知られていない方法ですのでメモっておきます。 INDEX1 MySQLにログイン中の場合2 スクリプトから実行する場合3 おまけのコマンドで指定す …

mysql

MySQLの時間のフォーマット

MySQLのdatetime型はそのままSELECTすると、 2013-05-15 13:45:59 のように表示されてしまいます。 yyyy-mm-ddではなく、yyyy/mm/dd がいい場合もあ …

mysql

utilitiesのmysqlrplshowを使いたい

かれこれ3日ほどはまったので恥を忍んでここに記載しておきます :x001: 構成は以下の通りです。 Windows8:192.168.0.99。mysqlrplshowを実行する └centos:19 …

mysql

SQLで時間の重複をチェックする

同じ期間のデータは事前にチェックしてエラーにするという処理は、 あらゆる場面で想定されそうなことですが、 以外と難しかったのでここに方法をのこしておきます。 他にも素晴らしい方法があると思いますが、 …