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の文字コードを変更する

日本語を扱うにはutf8にするべきでしょう。 アプリケーション側で接続する際に文字コードを指定することもできます。 string constr = “userid=root;password=pass …

mysql

mysqldumpでテーブル毎のダンプを圧縮して取得するスクリプト

mysqldumpではデータベースを指定して一括してダンプを取得できます。テーブル毎のダンプも取得できます。 しかし、一括して取得したダンプの1つのテーブルだけをインポートすることはできません。これは …

mysql

MySQL:エラー:The total number of locks exceeds the lock table size

The total number of locks exceeds the lock table sizeは、大量にデータを削除する場合等に発生する可能性があります。 見ての通り、ロックするメモリー不 …

sqlserver

SQLSERVER サービス起動用ユーザーを作成する

SQLサーバーのサービスを起動しているのは、デフォルトではおそらくAdministratorです。 ここに大きな落とし穴があります。 Administratroのパスワードを変更することはセキュリティ …

mysql

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

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