[INSERT]の検索結果


MySQLでは、INSERT ... SELECTを使用することで1つまたは複数のテーブルからレコードをテーブルに追加できます。
また、SELECTでLIMIT句とORDER BYを使用して上位n件のレコードのみテーブルに追加することもできます。


構文:
INSERT
INTO テーブル
[(カラム, ...)]
SELECT ...

追加前にORDER BYで指定した方法で並べ替えられ、LIMIT句で指定した行数のレコードが追加されます。

例えば、データベースtestのsalesテーブルに10件のレコードが格納されていて、priceの値が低い順に3件のレコードをjunkテーブルに追加する場合は以下のSQL文になります。

INSERT INTO test.junk (product,price) SELECT product,price FROM test.sales ORDER BY price Limit 3;

実際に実行してみると以下のような結果になります。

salesテーブルのデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 2        |
|        5 | PS3         |   10000 | 4        |
|        8 | G-SHOCK     |   12000 | 9        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

実行前のjunkテーブルのデータ:

mysql> select * from test.junk;
Empty set (0.00 sec)

INSERT ... SELECT文を実行:

mysql> INSERT INTO test.junk (product,price) SELECT product,price FROM test.sales ORDER BY price Limit 3;
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0

実行後のjunkテーブルのデータ:

mysql> select * from test.junk;
+---------+-------+
| product | price |
+---------+-------+
| WII     |  4500 |
| PS3     | 10000 |
| G-SHOCK | 12000 |
+---------+-------+
3 rows in set (0.00 sec)

参考:
MySQL 5.6 リファレンスマニュアル INSERT ... SELECT 構文


[2591] Posted by kagahiro at 2016/09/30 15:29:37
5 point | Link (3) | Trackback (1) | Comment (4)


PerlからDBIモジュールを使ってMySQLのテーブルにINSERT文でシングルクオートの含んだレコードを追加するには、次のようにprepare メソッドでプレースホルダを使ったステートメントハンドルを取得して、execute メソッドで値を渡してやればいいらしい。

my $sth = $dbh->prepare("insert into mytable(foo,bar,baz) VALUES(?,?,?)");
$sth->execute($foo, $bar, $baz);

INSERT文に限らずSQL文で変数値を渡す場合は、プレースホルダを使えばいいのか。

mysqlデータベースにinsertできない
DBI/DBDの使い方
Perl で、バイナリデータを MySQL に登録する

実践ハイパフォーマンスMySQL 第2版
オライリージャパン 著者:Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D. Zawodny,Arjen Lentz,Derek J. Balling 価格:4,830円 評価:★★★★★


  • 類似書は全部不要、究極の解説書 ★★★★★

powered by amalink
[1941] Posted by kagahiro at 2010/06/26 10:10:41
0 point | Link (3) | Trackback (0) | Comment (0)

SQLの実務経験のあるプログラマを対象として、トピックごとにSQLプログラミングの基本的な考え方から、データベースの設計、数値・文字・時間といったデータ型、DELETE・INSERT・UPDATEといったテーブル操作、SELECT文、述語や論理演算、グループ化や集計関数、集合演算、部分集合、クエリーの最適化、データ設計などが詳しく解説されているSQLプログラミングのバイブルともいえる書籍。高度なSQLプログラミングテクニックを習得したい人におすすめです。

プログラマのためのSQL 第2版
ピアソンエデュケーション 著者:ジョー セルコ 価格:4,725円 評価:★★★★★


  • Smarty ★★★★★

powered by amalink
[1280] Posted by kagahiro at 2009/04/09 08:29:34
0 point | Link (8) | Trackback (0) | Comment (0)

「パソコン(PC)」の使い勝手に大きな影響を与えるのが、文字入力装置である「キーボード」です。しかしながら、パソコンに付属してくるキーボードは、パソコンの厳しい価格競争のため必ずしも「使いやすい」とは言...
(追記あり)
[819] Posted by kagahiro at 2006/08/11 13:51:13
0 point | Link (9) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング TOP 10

  1. FC2まとめ (4 PV)
  2. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  3. 2ちゃんねる(2ch) (3 PV)
  4. 大人気のブランド品即時買取サービス「CASH」がDMM.comにたったの70億円で買い叩かれる (2 PV)
  5. 無料ダイヤルアッププロバイダ「Soloot(ソルート)」 (2 PV)
  6. ほしい物リスト (2 PV)
  7. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
  8. 掲示板CGI ThreadPlus 1.2 のリリース (2 PV)
  9. RDB(リレーショナルデータベース) (2 PV)
  10. 入金0円ですぐにFXが始められる初心者におすすめの海外FXブローカー「XM」 #MT4 #MT5 #口座開設 (2 PV)

今月のアクセスランキング TOP 10

  1. FC2まとめ (12 PV)
  2. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (8 PV)
  3. 掲示板CGI ThreadPlus 1.2 のリリース (5 PV)
  4. 「Kindle for the Web」 (5 PV)
  5. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5 PV)
  6. Jipanguの配布は終了しました (4 PV)
  7. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (4 PV)
  8. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  9. 「さくらのクラウド」のオプションサービスで「専有ホスト」の提供を開始 (3 PV)
  10. ドル円(USDJPY)で爆益を狙うハイリスクハイリターンのMT4向けナンピンマーチンEA「Hyper Dollar」 (3 PV)

アクセス統計

ディレクトリ

関連サイト