カラム名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;



* 参考にしたサイトは→ こちら です。

これは赤色の文字例です。

これは青色の文字例です。