[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. Million Dollar(MT4)リアルフォワード(myfxbook) #Gold(XAUUSD) #ナンピンマーチン (13 PV)
  2. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 (12 PV)
  3. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (9 PV)
  4. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (9 PV)
  5. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(EA)「PositionKeeper MT5」 #FX (8 PV)
  6. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (4 PV)
  7. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (3 PV)
  8. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (3 PV)
  9. DECOLOG(デコログ) (3 PV)
  10. MT5用レンジ相場向け逆張りナンピンEA「Nanpin K(ナンピンケイ) MT5」を完全無料で公開 (2 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1528 PV)
  2. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (238 PV)
  3. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (217 PV)
  4. MT4向けオープンソースナンピンマーチンEA「Automaton」 (129 PV)
  5. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (125 PV)
  6. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 (121 PV)
  7. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (120 PV)
  8. MT4向け1ポジアノマリーEA「DAY TRADING」オープンソースライセンス(GPL3)で公開 #ドル円 (115 PV)
  9. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (98 PV)
  10. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (88 PV)

アクセス統計

ディレクトリ

関連サイト