カラム名sada_count の大きい方から4件、100(100円クーポン)を引いて行く
カラム名sada_count の小さい方から3件、50(50円クーポン)を引いて行く
足したり、掛けたり 計算式の優先順位を設ける設定 free73
Friday,July,19,2013 //////////ここまでもってくるのに悪戦苦闘、その記録は別途下記に///////////// 商品一覧 sada_price sada_count 木炭 Charcoal 525円 2 鉛筆 Pencil 105円 1 油絵具 Oil paint 400円 14 アクリル絵具 Acrylic paints 350円 8 筆 Brush 735円 5 キャンバス Canvas 3150円 4 スケッチブック Sketchbook 2940円 12 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 Pencil 105 1 Oil paint 400 14 Acrylic paints 350 8 Brush 735 5 Canvas 3150 4 Sketchbook 2940 12 7 rows in set (0.00 sec) ○○カラムの値の大きい方から値の更新を行なう。 小さい方からも更新は可能。 カラム名「sada_count」の値が大きい方から順に4件分だけカラム名「sada_price」へ100を引くテスト(100円のクーポン使用時)。 カラム名「sada_count」の値の大きい方から「Oil paint」「Sketchbook」「Acrylic paints」「Brush」「Canvas」「Charcoal」「Pencil」となっている。 今回4件分だけデータを更新しますので「Oil paint」「Sketchbook」「Acrylic paints」「Brush」の4件が割り引かれる。 ASCを指定した場合は昇順 DESCを指定した場合は降順 ↓db名 ↓テーブル名 ↓変更するカラム名の値↓カラム名の値 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price - 100 -> order by sada_count desc limit 4; ↑*カラム名 ↑*DESCを指定した場合は降順 Query OK, 4 rows affected (0.08 sec) Rows matched: 4 Changed: 4 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 Pencil 105 1 Oil paint 300 14 *対象品目400-100=300 Acrylic paints 250 8 *対象品目350-100=250 Brush 635 5 *対象品目735-100=635 Canvas 3150 4 Sketchbook 2840 12 *対象品目2940-100=2840 7 rows in set (0.00 sec) ○○元に戻す 100を足す ↓db名 ↓テーブル名 ↓変更するカラム名の値↓カラム名の値 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price + 100 -> order by sada_count desc limit 4; ↑*カラム名 ↑*DESCを指定した場合は降順 Query OK, 4 rows affected (0.03 sec) Rows matched: 4 Changed: 4 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 Pencil 105 1 Oil paint 400 14 *対象品目300+100=400 Acrylic paints 350 8 *対象品目250+100=350 Brush 735 5 *対象品目635+100=735 Canvas 3150 4 Sketchbook 2940 12 *対象品目2840+100=2940 7 rows in set (0.00 sec) ○○カラム名sada_count の小さい方から3件、50(50円クーポン)を引いて行く。 ↓db名 ↓テーブル名 ↓変更するカラム名の値↓カラム名の値 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price - 50 -> order by sada_count ASC limit 3; *カラム名sada_count の内、小さい方から3件を更新する。 ↑*カラム名 ↑*ASCを指定した場合は昇順 Query OK, 3 rows affected (0.01 sec) Rows matched: 3 Changed: 3 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 475 2 *対象品目525-50=475 Pencil 55 1 *対象品目105-50=55 Oil paint 400 14 Acrylic paints 350 8 Brush 735 5 Canvas 3100 4 *対象品目3150-50=3100 Sketchbook 2940 12 7 rows in set (0.00 sec) ○元に戻す ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 475 2 *修正する箇所 Pencil 55 1 *修正する箇所 Oil paint 400 14 Acrylic paints 350 8 Brush 735 5 Canvas 3100 4 *修正する箇所 Sketchbook 2940 12 7 rows in set (0.00 sec) ○元に戻す ASCを指定した場合は昇順 DESCを指定した場合は降順 ○○カラム名sada_count の小さい方から3件、50(50円クーポン)を足して行く。 ↓db名 ↓テーブル名 ↓変更するカラム名の値↓カラム名の値 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price + 50 -> order by sada_count ASC limit 3; *カラム名sada_count の内、小さい方から3件を更新する。 ↑*カラム名 ↑*ASCを指定した場合は昇順[Pencil][Charcoal][Canvas ] Query OK, 3 rows affected (0.14 sec) Rows matched: 3 Changed: 3 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 *対象品目475+50=525 Pencil 105 1 *対象品目 55+50=105 Oil paint 400 14 Acrylic paints 350 8 Brush 735 5 Canvas 3150 4 *対象品目3100+50=3150 Sketchbook 2940 12 7 rows in set (0.00 sec) ///////////////悪戦苦闘の記録////////////////// ○商品一覧 木炭 Charcoal 525円 鉛筆 Pencil 105円 油絵具 Oil paint 400円 アクリル絵具 Acrylic paints 350円 筆 Brush 735円 キャンバス Canvas 3150円 スケッチブック Sketchbook 2940円 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 263 2 *値段を525円修正します Pencil 53 1 *値段を105円修正します Oil paint 320 14 *値段を400円修正します Acrylic paints 175 8 *値段を350円修正します Brush 735 5 Canvas 3150 4 Sketchbook 2940 12 7 rows in set (0.00 sec) ○カラムの構造を見る mysql> show columns from sadachika_shop.sadachi_uriage; Field Type Null Key Default Extra sada_name varchar(20) YES UNI データなし *Key項目はUNI、Defaultは'データなし'へと設定されている。 sada_price int(11) YES NULL sada_count int(11) YES NULL 3 rows in set (0.06 sec) ○デフォルト関数 ↓カラムをデフォルト値にする。 mysql> update sadachika_shop.sadachi_uriage set sada_price = default(sada_price); Query OK, 7 rows affected (0.08 sec) Rows matched: 7 Changed: 7 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal NULL 2 *カラムsada_price が、NULLへ変更された Pencil NULL 1 *カラムsada_price が、NULLへ変更された Oil paint NULL 14 *カラムsada_price が、NULLへ変更された Acrylic paints NULL 8 *カラムsada_price が、NULLへ変更された Brush NULL 5 *カラムsada_price が、NULLへ変更された Canvas NULL 4 *カラムsada_price が、NULLへ変更された Sketchbook NULL 12 *カラムsada_price が、NULLへ変更された 7 rows in set (0.00 sec) ○デフォルト関数 ↓カラムをデフォルト値にする。 mysql> update sadachika_shop.sadachi_uriage set sada_count = default(sada_count); Query OK, 7 rows affected (0.03 sec) Rows matched: 7 Changed: 7 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal NULL NULL *カラム名sada_count が、NULLへ変更された Pencil NULL NULL *カラム名sada_count が、NULLへ変更された Oil paint NULL NULL *カラム名sada_count が、NULLへ変更された Acrylic paints NULL NULL *カラム名sada_count が、NULLへ変更された Brush NULL NULL *カラム名sada_count が、NULLへ変更された Canvas NULL NULL *カラム名sada_count が、NULLへ変更された Sketchbook NULL NULL *カラム名sada_count が、NULLへ変更された 7 rows in set (0.00 sec) ○○カラム定義だけを変更する ユニークキーを設定する(重複を許さない) mysql> alter table sadachika_shop.sadachi_uriage modify sada_price int(11) default '準備中'; *ERROR INT型だから文字入力は出来ないのかもしれない ↑対象のカラム ↑*変更したい型を入力する {元はINT型 not null(データ無しを許さない)} → SMALLINT型へ変更を行なう mysql> alter table sadachika_shop.sadachi_uriage modify sada_price int(11) not null default 10000;*ERRORです。デフォルトを設定するという事は、データなしの格納を許可しろという事ですか? mysql> alter table sadachika_shop.sadachi_uriage modify sada_price int(11) default 10000; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table sadachika_shop.sadachi_uriage modify sada_count int default 0; ↑(数字)入れなくても変更できました。 Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 ○デフォルト関数 ↓カラムをデフォルト値にする。 mysql> update sadachika_shop.sadachi_uriage set sada_price = default(sada_price); Query OK, 7 rows affected (0.06 sec) Rows matched: 7 Changed: 7 Warnings: 0 ↓カラムをデフォルト値にする。 mysql> update sadachika_shop.sadachi_uriage set sada_count = default(sada_count); Query OK, 7 rows affected (0.01 sec) Rows matched: 7 Changed: 7 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました Pencil 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました Oil paint 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました Acrylic paints 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました Brush 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました Canvas 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました Sketchbook 10000 0 *カラム名sada_price, sada_count 共にデフォルト値に変更されました 7 rows in set (0.00 sec) ○アップデート やり方No,1 1個しか変更できないのが難点である。複数の箇所アップデート出来るのかな? ↓db名 ↓テーブル名 ↓更新カラム名↓更新するデータ↓基準 ↓基準のデータ mysql> update sadachika_shop.sadachi_uriage set sada_price = 525 where sada_name = 'Charcoal'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 0 *カラム名sada_price が525 へ変更されました Pencil 10000 0 Oil paint 10000 0 Acrylic paints 10000 0 Brush 10000 0 Canvas 10000 0 Sketchbook 10000 0 7 rows in set (0.00 sec) ○アップデート やり方No,1 ↓db名 ↓テーブル名 ↓更新カラム ↓更新するデータ↓基準 ↓基準のデータ mysql> update sadachika_shop.sadachi_uriage set sada_count = 2 where sada_name = 'Charcoal'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 *カラム名sada_count が2 へ変更されました Pencil 10000 0 Oil paint 10000 0 Acrylic paints 10000 0 Brush 10000 0 Canvas 10000 0 Sketchbook 10000 0 7 rows in set (0.00 sec) ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する mysql> insert into sadachika_shop.sadachi_uriage values('Pencil', 105, 1) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、105を表している。values(sada_count)は、1を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 Pencil 10105 1 *あれれ、10105 かよ。1は成功したけど。 Oil paint 10000 0 Acrylic paints 10000 0 Brush 10000 0 Canvas 10000 0 Sketchbook 10000 0 7 rows in set (0.00 sec) ○カラム定義だけを変更する mysql> alter table sadachika_shop.sadachi_uriage modify sada_price int(11) default NULL; *元に戻します。 Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 ○デフォルト関数 ↓カラムをデフォルト値にする。 mysql> update sadachika_shop.sadachi_uriage set sada_price = default(sada_price); Query OK, 7 rows affected (0.03 sec) Rows matched: 7 Changed: 7 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal NULL 2 *カラム名sada_price はNULL へ変更された。 Pencil NULL 1 *カラム名sada_price はNULL へ変更された。 Oil paint NULL 0 *カラム名sada_price はNULL へ変更された。 Acrylic paints NULL 0 *カラム名sada_price はNULL へ変更された。 Brush NULL 0 *カラム名sada_price はNULL へ変更された。 Canvas NULL 0 *カラム名sada_price はNULL へ変更された。 Sketchbook NULL 0 *カラム名sada_price はNULL へ変更された。 7 rows in set (0.00 sec) ○カラムの構造を見る mysql> show columns from sadachika_shop.sadachi_uriage; *columns(新聞など印刷物の)縦の段; 欄. Field Type Null Key Default Extra sada_name varchar(20) YES UNI データなし *ユニークキーが上書きの基準に使えます。基準値のカラムへは上書き出来ませんが、それ以外のカラムへは上書きします。 sada_price int(11) YES NULL *元にもどりました。 sada_count int(11) YES 0 ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、525を表している。values(sada_count)は、2を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Pencil', 105, 1) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、105を表している。values(sada_count)は、1を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.02 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Oil paint', 400, 14) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、400を表している。values(sada_count)は、14を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Acrylic paints', 350, 8) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、350を表している。values(sada_count)は、8を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.01 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Brush', 735, 5) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、735を表している。values(sada_count)は、5を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.00 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Canvas', 3150, 4) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、3150を表している。values(sada_count)は、4を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.00 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Sketchbook', 2940, 12) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、2940を表している。values(sada_count)は、12を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.00 sec) ○テーブルの中身の表示 (sadachi_uriage) 大変だ!NULLに上書きできない事実が発覚。NULL+数字=NULLなんだね。足すであっても。 mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal NULL 4 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは2+2=4正常に上書きされた。 Pencil NULL 2 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは1+1=2正常に上書きされた。 Oil paint NULL 14 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは正常に上書きされた。 Acrylic paints NULL 8 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは正常に上書きされた。 Brush NULL 5 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは正常に上書きされた。 Canvas NULL 4 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは正常に上書きされた。 Sketchbook NULL 12 *え!NULLへ上書き出来てないじゃん。ショック!sada_countは正常に上書きされた。 7 rows in set (0.00 sec) ○カラム定義だけを変更する ↓今度は数字を無くして入力 mysql> alter table sadachika_shop.sadachi_uriage modify sada_price int default 0; *デフォルトをゼロにします。 Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 ○デフォルト関数 ↓カラムをデフォルト値にする。 mysql> update sadachika_shop.sadachi_uriage set sada_price = default(sada_price); Query OK, 7 rows affected (0.03 sec) Rows matched: 7 Changed: 7 Warnings: 0 ○カラムの構造を見る mysql> show columns from sadachika_shop.sadachi_uriage; *columns(新聞など印刷物の)縦の段; 欄. Field Type Null Key Default Extra sada_name varchar(20) YES UNI データなし *ユニークキーが上書きの基準に使えます。基準値のカラムへは上書き出来ませんが、それ以外のカラムへは上書きします。 sada_price int(11) YES 0 *NULL→0 へ変更された。 sada_count int(11) YES 0 3 rows in set (0.06 sec) ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 0 4 *カラム名sada_price の値が0へ変更された。 Pencil 0 2 *カラム名sada_price の値が0へ変更された。 Oil paint 0 14 *カラム名sada_price の値が0へ変更された。 Acrylic paints 0 8 *カラム名sada_price の値が0へ変更された。 Brush 0 5 *カラム名sada_price の値が0へ変更された。 Canvas 0 4 *カラム名sada_price の値が0へ変更された。 Sketchbook 0 12 *カラム名sada_price の値が0へ変更された。 7 rows in set (0.00 sec) めんどくさいけど、もう一度アップデートします。 ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、525を表している。values(sada_count)は、2を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) ○テーブルの中身の表示 (sadachi_uriage) 大変だ!NULLに上書きできない事実が発覚。 mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 6 *上書きされてるな4+2=6。0+525=525 は正常に更新された Pencil 0 2 Oil paint 0 14 Acrylic paints 0 8 Brush 0 5 Canvas 0 4 Sketchbook 0 12 7 rows in set (0.00 sec) ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、525を表している。values(sada_count)は、2を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) ○テーブルの中身の表示 (sadachi_uriage) 大変だ!NULLに上書きできない事実が発覚。 mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 1050 8 *上書きされてるな、525+525=1050, 6+2=8。 Pencil 0 2 Oil paint 0 14 Acrylic paints 0 8 Brush 0 5 Canvas 0 4 Sketchbook 0 12 7 rows in set (0.00 sec) 数式が入れているのがまずいんだな。じゃあ取っ払らってやれ! ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、525を表している。values(sada_count)は、2を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Pencil', 105, 1) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、105を表している。values(sada_count)は、1を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.02 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Oil paint', 400, 14) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、400を表している。values(sada_count)は、14を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.03 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Acrylic paints', 350, 8) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、350を表している。values(sada_count)は、8を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.01 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Brush', 735, 5) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、735を表している。values(sada_count)は、5を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.00 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Canvas', 3150, 4) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、3150を表している。values(sada_count)は、4を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.00 sec) mysql> insert into sadachika_shop.sadachi_uriage values('Sketchbook', 2940, 12) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。 -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、2940を表している。values(sada_count)は、12を表している。入力すべきカラムの値を参照している Query OK, 2 rows affected (0.00 sec) ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 525 2 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 Pencil 105 1 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 Oil paint 400 14 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 Acrylic paints 350 8 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 Brush 735 5 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 Canvas 3150 4 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 Sketchbook 2940 12 *正常に戻りました。sada_price=sada_price+values(sada_price) → sada_price=values(sada_price) へ変更しました。 7 rows in set (0.00 sec) メモ ○アップデート ↓db名 ↓テーブル名 ↓カラム名 ↓更新するデータ ↓古いデータ mysql> update sadachika_shop.sadachi_results set sada_name = '佐藤' where sada_name = '橘高'; mysql> update sadachika_shop.sadachi_results set sada_id = 4 where sada_id = 3; mysql> update sadachika_shop.sadachi_results set sada_id = 3 where sada_id = 2;
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。