“商品”表に対してデータの更新処理が正しく実行できるUPDATE文はどれか。
ここで、“商品”表は次のCREATE文で定義されている。
CREATE TABLE 商品
(商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT,
PRIMARY KEY(商品番号))
商品
商品番号
商品名
仕入先番号
単価
S001
A
XX0001
18,000
S002
A
YY0002
20,000
S003
B
YY0002
35,000
S004
C
ZZ0003
40,000
S005
C
XX0001
38,000
ア
UPDATE 商品 SET 商品番号=’S001’ WHERE 商品番号=’S002’
イ
UPDATE 商品 SET 商品番号=’S006’ WHERE 商品名=’C’
ウ
UPDATE 商品 SET 商品番号=NULL WHERE 商品番号=’S002’
エ
UPDATE 商品 SET 商品名=’D’ WHERE 商品番号=’S003’
答え エ
【解説 】
UPDATE文は『UPDATE 表の名前 SET 変更する項目=’変更する値’ WHERE 変更するデータの条件となる項目=’変更する条件の値’』に、なります。
選択肢アの「UPDATE 商品 SET 商品番号=’S001’ WHERE 商品番号=’S002’」では、『“商品”という表の、“商品番号がS002”であるデータの“商品番号をS001”に変更する。』となります。
ア
変更した結果、主キーである商品番号に重複が発生するので更新できません。(S001が2つになります。)
イ
変更した結果、主キーである商品番号に重複が発生するので更新できません。(S006が2つになります。)
ウ
変更した結果、主キーである商品番号がNULLになりますので更新できません。
エ
商品番号: S003の商品名がDに変更(更新)できます。
問題のCREATE文の意味を説明します。
CREATE TABLE 商品
(商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT,
PRIMARY KEY(商品番号))
CREATE TABLE 商品
“商品”という表(Table)を作りますという宣言です。
商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT
表の中の各項目のデータの属性です。
“商品番号 CHAR(4)”は、商品番号の項目は4文字の文字列
“単価 INT”は、単価は整数
PRIMARY KEY(商品番号)
この表の主キーが商品番号であると設定しています。
【キーワード 】
・表
【キーワードの解説 】
表(Table)
表は関係データベースからSQL言語を使って作り出します。
表には、主キー(PRIMARY KEY)という、表の中でユニークな情報があり、この情報を基に表は構成されています。また、主キーは表の中でユニークであるとともに、値がないといけません。(NULLはだめ。)
表を作り出すのはSQLのCREATE文で、更新(修正)するのはUPDATE文です。
もっと、「表(Table)」について調べてみよう。
戻る
一覧へ
次へ