カラム名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;
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。