4.データ更新

以下のテーブルをもとに、演習を進める。

[ sale ]

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 140 2800 A商店 false (NULL)
102 2007/4/2 いちご 15 400 6000 B商店 true (NULL)
103 2007/5/4 いちご 2 400 800 A商店 false (NULL)
104 2007/5/12 いちじく 32 600 19200 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 260 4680 C商店 false (NULL)
106 2007/6/7 りんご 3 140 420 A商店 false (NULL)
107 2007/7/1 メロン 12 3500 42000 W商店 true のしをつける
108 2007/7/7 七夕セット 3 1780 5340 C商店 false (NULL)
109 2007/7/10 マンゴー 10 260 2600 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2300 13800 海の家 false (NULL)

4-1

販売データの登録 − 新規データの挿入

以下の新規データを追加する。

sale_id
(販売番号)
sale_date
(販売日)
product_name
(商品名)
product_count
(個数)
product_price
(単価)
product_total
(合計金額)
customer
(販売先)
is_delivery
(配送)
note
(備考)
111 2007/8/25 秋の先取りセット 4 2500 10000 W商店 true(あり) NULL

[ sale(データ追加後) ]

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 140 2800 A商店 false (NULL)
102 2007/4/2 いちご 15 400 6000 B商店 true (NULL)
103 2007/5/4 いちご 2 400 800 A商店 false (NULL)
104 2007/5/12 いちじく 32 600 19200 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 260 4680 C商店 false (NULL)
106 2007/6/7 りんご 3 140 420 A商店 false (NULL)
107 2007/7/1 メロン 12 3500 42000 W商店 true のしをつける
108 2007/7/7 七夕セット 3 1780 5340 C商店 false (NULL)
109 2007/7/10 マンゴー 10 260 2600 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2300 13800 海の家 false (NULL)
111 2007/8/25 秋の先取りセット 4 2500 10000 W商店 true (NULL)

キーワード:insert into 〜 values

【サンプルソースコード】

4-1.sql

/* 4-1.販売データの登録 − 新規データの挿入 */ /*  表定義の列順で値を指定し、値がない場合はnullを指定する */ insert into sale values (111, '2007/8/25', '秋の先取りセット', 4, 2500, 10000, 'W商店', true, null);

4-2

販売データの登録2 − 新規データの挿入2

以下の新規データを追加する。

sale_id
(販売番号)
sale_date
(販売日)
product_name
(商品名)
product_count
(個数)
product_price
(単価)
product_total
(合計金額)
customer
(販売先)
112 2007/8/28 巨峰 10 880 8800 C商店

[ sale(データ追加後) ]

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 140 2800 A商店 false (NULL)
102 2007/4/2 いちご 15 400 6000 B商店 true (NULL)
103 2007/5/4 いちご 2 400 800 A商店 false (NULL)
104 2007/5/12 いちじく 32 600 19200 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 260 4680 C商店 false (NULL)
106 2007/6/7 りんご 3 140 420 A商店 false (NULL)
107 2007/7/1 メロン 12 3500 42000 W商店 true のしをつける
108 2007/7/7 七夕セット 3 1780 5340 C商店 false (NULL)
109 2007/7/10 マンゴー 10 260 2600 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2300 13800 海の家 false (NULL)
111 2007/8/25 秋の先取りセット 4 2500 10000 W商店 true (NULL)
112 2007/8/28 巨峰 10 880 8800 C商店 false (NULL)

キーワード:insert into 〜 values

【サンプルソースコード】

4-2.sql

/* 4-2.販売データの登録2 − 新規データの挿入2 */ /*  値を入れる列を指定する、指定がなければdefault値かnullが入る */ insert into sale (sale_id, sale_date, product_name, customer, product_price, product_count, product_total) values (112, '2007/8/28', '巨峰', 'C商店', 880, 10, 8800);

4-3

単価の一括更新 − データの変更

商品の単価を、税込み表示に変更する。
すべて、1.05倍に変更する。(あわせて、金額も変更しないとつじつまが合わない。)

[ sale(データ更新後) ]

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 147 2940 A商店 false (NULL)
102 2007/4/2 いちご 15 420 6300 B商店 true (NULL)
103 2007/5/4 いちご 2 420 840 A商店 false (NULL)
104 2007/5/12 いちじく 32 630 20160 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 273 4914 C商店 false (NULL)
106 2007/6/7 りんご 3 147 441 A商店 false (NULL)
107 2007/7/1 メロン 12 3675 44100 W商店 true のしをつける
108 2007/7/7 七夕セット 3 1869 5607 C商店 false (NULL)
109 2007/7/10 マンゴー 10 273 2730 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2415 14490 海の家 false (NULL)
111 2007/8/25 秋の先取りセット 4 2625 10500 W商店 true (NULL)
112 2007/8/28 巨峰 10 924 9240 C商店 false (NULL)

キーワード:update 〜 set

【サンプルソースコード】

4-3.sql

/* 4-3.単価の一括更新 − データの変更 */ /*  setには、必要なものだけを並べればいい */ update sale set product_price = product_price * 1.05, product_total = product_total * 1.05;

4-4

特定データの値の修正 − 特定データの変更

特定データの個数の入力が間違っていたので、正しい数字に直す。
⇒販売番号:106のデータ  個数「3」が、正しくは「30」
 (あわせて、金額も変更しないとつじつまが合わない。)

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 147 2940 A商店 false (NULL)
102 2007/4/2 いちご 15 420 6300 B商店 true (NULL)
103 2007/5/4 いちご 2 420 840 A商店 false (NULL)
104 2007/5/12 いちじく 32 630 20160 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 273 4914 C商店 false (NULL)
106 2007/6/7 りんご 30 147 4410 A商店 false (NULL)
107 2007/7/1 メロン 12 3675 44100 W商店 true のしをつける
108 2007/7/7 七夕セット 3 1869 5607 C商店 false (NULL)
109 2007/7/10 マンゴー 10 273 2730 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2415 14490 海の家 false (NULL)
111 2007/8/25 秋の先取りセット 4 2625 10500 W商店 true (NULL)
112 2007/8/28 巨峰 10 924 9240 C商店 false (NULL)

キーワード:update 〜 set、where

【サンプルソースコード】

4-4.sql

/* 4-4.特定データの値の修正 − 特定データの変更 */ /*  whereでデータを指定しないと、全データが変更されてしまう */ update sale set product_count = 30, product_total = 4410 where sale_id = 106;

4-5

特定データの単価の修正 − 特定データの変更2

特定商品の単価の入力が間違っていたので、正しい数字に直す。
⇒商品:マンゴー  単価「273」が、正しくは「294」  (あわせて、金額も変更しないとつじつまが合わない。)

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 147 2940 A商店 false (NULL)
102 2007/4/2 いちご 15 420 6300 B商店 true (NULL)
103 2007/5/4 いちご 2 420 840 A商店 false (NULL)
104 2007/5/12 いちじく 32 630 20160 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 294 5292 C商店 false (NULL)
106 2007/6/7 りんご 30 147 4410 A商店 false (NULL)
107 2007/7/1 メロン 12 3675 44100 W商店 true のしをつける
108 2007/7/7 七夕セット 3 1869 5607 C商店 false (NULL)
109 2007/7/10 マンゴー 10 294 2940 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2415 14490 海の家 false (NULL)
111 2007/8/25 秋の先取りセット 4 2625 10500 W商店 true (NULL)
112 2007/8/28 巨峰 10 924 9240 C商店 false (NULL)

キーワード:update 〜 set、where

【サンプルソースコード】

4-5.sql

/* 4-5.特定データの単価の修正 − 特定データの変更2 */ update sale set product_price = 294, product_total = 294 * product_count where product_name = 'マンゴー';

4-6

特定データの削除

販売番号:107のデータを削除する。

sale_id sale_date product_name product_count product_price product_total customer is_delivery note
101 2007/4/1 りんご 20 147 2940 A商店 false (NULL)
102 2007/4/2 いちご 15 420 6300 B商店 true (NULL)
103 2007/5/4 いちご 2 420 840 A商店 false (NULL)
104 2007/5/12 いちじく 32 630 20160 A商店パリ支店 true 空輸
105 2007/5/20 マンゴー 18 294 5292 C商店 false (NULL)
106 2007/6/7 りんご 30 147 4410 A商店 false (NULL)
108 2007/7/7 七夕セット 3 1869 5607 C商店 false (NULL)
109 2007/7/10 マンゴー 10 294 2940 B商店 false (NULL)
110 2007/8/1 常夏セット 6 2415 14490 海の家 false (NULL)
111 2007/8/25 秋の先取りセット 4 2625 10500 W商店 true (NULL)
112 2007/8/28 巨峰 10 924 9240 C商店 false (NULL)

キーワード:delete from、where

【サンプルソースコード】

4-6.sql

/* 4-6.特定データの削除 */ /*  whereを指定しないと全データが削除されるので注意! */ delete from sale where sale_id = 107;


課題

スポーツクラブの会員データがある。
以下のテーブルをもとに、仕様を満たすようなSQL文を作成する。

[ member ]

member_id regist_date member_name birthday member_gender class member_fee area lesson
M101 2005/2/10 秋田きりん 1978/5/4 男性 マスター 10000 上野 スカッシュ
N511 2006/8/15 長野となかい 1980/10/9 男性 ナイト 8000 上野 (NULL)
M340 2006/8/15 山口ぱんだ 1976/4/28 女性 マスター 10000 上野 ジャズダンス
H028 2006/10/10 長崎らっこ 1979/7/16 男性 ホリデー 7200 品川 スイミング
M502 2007/1/20 石川うさぎ 1976/5/21 女性 マスター 10000 千葉 (NULL)
N113 2007/1/31 岡山ふくろう 1965/12/30 男性 ナイト 8000 上野 (NULL)
D327 2007/3/6 富山ひよこ 1986/4/23 女性 デイ 6500 千葉 (NULL)
N280 2007/4/1 香川ひらめ 1972/6/24 男性 ナイト 8000 品川 (NULL)
H335 2007/4/18 宮崎まんぼう 1968/3/12 男性 ホリデー 7200 品川 (NULL)
M211 2007/4/28 福岡かまきり 1980/10/8 男性 マスター 10000 千葉 ジャズダンス

 

課題4-1.新規入会した会員を登録する。

member_id regist_date member_name birthday member_gender class member_fee area lesson
H777 この課題をやった日 (自分の氏名) (自分の生年月日) (自分の性別) ホリデー 7200 品川 ヨガ

課題4-2.M502の石川さんが、会員種別をホリデー会員に変更した。

会費にも注意すること。

課題4-3.千葉店を利用しているデイ会員の富山さんが、スカッシュのレッスンを受けることにした。

※問題文に合わせて検索条件を設定すること。

課題4-4.N280の香川さんが、退会した。

課題4-5.上野店を利用していた長野さんが、品川店に変更した。

※問題文に合わせて検索条件を設定すること。

課題4-6.ホリデー会員の月会費が、7200円から7500円に値上げされた。

※問題文に合わせて検索条件を設定すること。

課題4-7.上野店を利用している山口さんの生年月日が間違って登録されていた。正しくは1976年5月28日なので、修正する。

※問題文に合わせて検索条件を設定すること。

Copyright © Xincor miXell Co., Ltd. All rights reserved

results matching ""

    No results matching ""