目次へ

4.2. データの変更 <UPDATE>

SQL では登録データの変更を複数の条件を与えて一括で変更することも、1つの行や列を指定して、その部分のみを変更することも可能です。データの変更には UPDATE 文を使用します。基本的な構文は次の通りです。

UPDATE テーブル名 SET 列名 = データ, 列名 = データ ,.... ;

変更するデータは、列のデータ型に従うものでなければなりません。また、列制約やテーブル制約で入力できるデータが制限されている場合は、それ以外のデータに変更できません。他のテーブルから参照されている値を含むものも変更できません。

商品表で単価を一律 1,000 円にしたい場合は、sample.09-1 のように書きます。

表: 商品表
商品コード商品名単価
-- sample.09-1 --
/* データの変更 */

 UPDATE 商品表 SET 単価 = 1000 ; 

特定の行のみを変更したい場合は、WHERE 句で条件を指定しなければなりません。次の例は、商品表において商品コードが 0004 の単価を 2500 に変更するときの SQL です。

表: 商品表
商品コード商品名単価
-- sample.09-2 --
/* データの変更 */
UPDATE 商品表 SET 単価 = 2500
 WHERE 商品コード = '0004' ;

複数の列を一度に変更するには、sample.09-3 のように書きます。商品表で、商品コードが 0005 の商品名をブックエンド、単価を 1000 に変更します。

表: 受注表
商品コード商品名単価
-- sample.09-3 --
/* データの変更 */

 UPDATE 商品表 SET 商品名 = 'ブックエンド' , 単価 = 1000
                   WHERE 商品コード = '0005' ;

UPDATE 文の SET 句には、変更する列を使った式を含め、値式を使用することができます。商品表の単価を一律 50 円アップしたいときは次のように記述します。

表: 商品表
商品コード商品名単価
-- sample.09-4 --
/* データの変更 */

 UPDATE 商品表 SET 単価 = 単価 + 50 ;

(実習課題2)

4章 1節の実習課題で入力したデータの office を、10 から 20 に変更するときの SQL 文を記述しなさい。

解答例はこちら

関連記事

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp