スポンサーリンク

テストテーブル等一時テーブルの一括更新に活用

### 項目に値を直接指定して更新 
UPDATE
  test_tbl
SET
  date = ‘2016-06-30’
; 

### replace関数を利用して直接更新する 
UPDATE
  test_tbl
SET
  date = REPLACE(date,‘2016-05-31',‘2016-06-30') 
;

### 更新条件に合うものだけを更新する 
UPDATE
  test_tbl
SET
  date = ‘2016-06-30’ 
WHERE
  date is null; 

自動化向け(プロシージャ―設定等)で利用

### 動的日付を更新する 
SET @ymd = date(date_add(now(),interval – 1 day)); 
UPDATE
  test_tbl
SET
  date = @ymd
; 

### 1つのテーブルに対して、別のテーブル値を利用して更新する(これは結構使える) 
UPDATE
 test01
 , test02 
SET
  test01.name = test02.name 
WHERE
  test01.id = test02.id
; 

↑SELECT句では、AS句を利用してテーブル名を省略することが多いが、UPDATE構文にはAS句が利用できない為、 テーブル名称をそのまま利用すれば行ける感じ。

おすすめの記事