UPDATE文
データの更新はUPDATE文で行います。全件を更新するよりも、WHERE句を利用して一部の行を更新することや、ORDER BYとLIMITを組み合わせて例えば上位10件のみを更新することも可能です。
UPDATE文の基本構文
UPDATE テーブル名 SET 列=値または式 [, 列=値または式, ...] [WHERE 条件] [その他の句];
「Cityテーブルに追加したNewCityの名称をOldCityに変更する」
mysql> UPDATE City SET Name='OldCity' WHERE Name='NewCity'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT * FROM City ORDER BY ID DESC LIMIT 3; +------+---------+-------------+----------+------------+ | ID | Name | CountryCode | District | Population | +------+---------+-------------+----------+------------+ | 4080 | OldCity | | | 0 | | 4079 | Rafah | PSE | Rafah | 92020 | | 4078 | Nablus | PSE | Nablus | 100231 | +------+---------+-------------+----------+------------+ 3 rows in set (0.00 sec)
REPLACE文
REPLACE文はMySQL独自の拡張です。基本的にはINSERT文と同じく行を追加しますが、主キーまたはユニークキーが重複する場合に限り、行の値を更新します。INSERT文およびUPDATE文の両方の構文がそのまま利用できます。
REPLACE文の基本構文
REPLACE INTO テーブル名 [(列のリスト)] VALUES(値); REPLACE INTO テーブル名 [(列のリスト)] SELECT ... ; REPLACE テーブル名 SET 列=値または式 [,列=値または式, ...];