Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第5回 MySQL事始 SQL文(2) データを変更するSQL文

  2011/07/26 00:00

UPDATE

データの更新はUPDATE文で行います。全件を更新するよりも、WHERE句を利用して一部の行を更新することや、ORDER BYLIMITを組み合わせて例えば上位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 列=値または式 [,列=値または式, ...];

著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。  

バックナンバー

連載:MySQL事始

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5