データの更新、アップデート free71
Friday,July,19,2013 20%OFFとかに使えそうな感じですね。 割引クーポンにも応用できそう。 例、商品一覧 木炭 Charcoal 525円 鉛筆 Pencil 105円 油絵具 Oil paint 400円 アクリル絵具 Acrylic paints 350円 筆 Brush 735円 ○特定のデータベース内のテーブルを表示させる SHOW TABLES FROM sadachika_shop; ○テーブルを作る ↓データベース名 ↓テーブル名 mysql> create table sadachika_shop.sadachi_uriage(sada_name varchar(20), sada_price int, sada_count int); *カラム名sada_name VARCHAR型, カラム名sada_price INT型, カラム名sada_count INT型 Query OK, 0 rows affected (0.08 sec) ○入力 全てのカラムに値を格納するので省略文を用いた。*全カラムへ値を格納するので入力は省略文を使い、1回で格納をすませる。 mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2), ('Pencil', 105, 1), ('Oil paint', 420, 14), ('Acrylic paints', 365, 8), ('Brush', 735, 9); Query OK, 5 rows affected (0.06 sec) Records: 5 Duplicates: 0 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 420 14 Acrylic paints 365 8 Brush 735 9 5 rows in set (0.00 sec) ○値をアップデート 「sada_name」カラムの値が'木炭Charcoal'のデータの「sada_price」カラムの値段を420に変更する。 mysql> update sadachika_shop.sadachi_uriage set sada_price = 420 where sada_name = 'Charcoal'; Query OK, 1 rows affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 ○値をアップデート 「sada_name」カラムの値が'鉛筆 Pencil'のデータの「sada_count」カラムの値に9を追加します。sada_countの合計を10にする mysql> update sadachika_shop.sadachi_uriage set sada_count = sada_count + 9 where sada_name = 'Pencil'; Query OK, 1 rows 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 420 2 *140に変更 Pencil 105 10 *1 + 9 = 10 10へ変更 Oil paint 420 14 Acrylic paints 365 8 Brush 735 9 5 rows in set (0.00 sec) ○値をアップデート 「sada_count」カラムの値が10以下のデータに対して「sada_price」カラムの値から0.20(80%OFF)を掛けます。 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price * 0.20 where sada_count <= 10; 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 84 2 *80%OFF Pencil 21 10 *80%OFF Oil paint 420 14 *10以上は対象外 Acrylic paints 73 8 *80%OFF Brush 147 9 *80%OFF 5 rows in set (0.00 sec) ○値をアップデート 「sada_count」カラムの値が10以下のデータに対して「sada_price」カラムの値から50(50円のクーポン)を引きます。 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price - 50 where sada_count <= 10; 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 34 2 *84 - 50 = 34 Pencil -29 10 *21 - 50 = -29 Oil paint 420 14 *10以上は対象外 Acrylic paints 23 8 *73 - 50 = 23 Brush 97 9 *147 - 50 = 97 5 rows in set (0.00 sec) ○値をアップデート 元に戻す。「sada_count」カラムの値が10以下のデータに対して「sada_price」カラムの値から50を足す。 mysql> update sadachika_shop.sadachi_uriage set sada_price = sada_price + 50 where sada_count <= 10; ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 84 2 * 34 + 50 = 84 Pencil 21 10 *-29 + 50 = 21 Oil paint 420 14 *10以上は対象外 Acrylic paints 73 8 * 23 + 50 = 73 Brush 147 9 * 97 + 50 = 147 5 rows in set (0.00 sec) ○値をアップデート 全てのデータに対して「sada_price」カラムと「sada_count」カラムの0に設定します。 mysql> update sadachika_shop.sadachi_uriage set sada_price = 0, sada_count = 0; Query OK, 5 rows affected (0.03 sec) Rows matched: 5 Changed: 5 Warnings: 0 ○テーブルの中身の表示 (sadachi_uriage) mysql> select * from sadachika_shop.sadachi_uriage; sada_name sada_price sada_count Charcoal 0 0 Pencil 0 0 Oil paint 0 0 Acrylic paints 0 0 Brush 0 0 5 rows in set (0.00 sec) お手本メモ [例1]idカラムの値が10のデータのpriceカラムの値を1000に設定する UPDATE uriage SET price = 1000 WHERE id = 10; [例2]countカラムの値が100より小さいデータのpriceカラムの値を半分に設定する UPDATE uriage SET price = price / 2 WHERE count < 100; [例3]全てのデータのcountカラムの値を0にし、priceカラムの値を0に設定する UPDATE uriage SET count = 0, price = 0;
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。