<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yukun&#039;s Blog &#187; UPDATE</title>
	<atom:link href="http://www.yukun.info/blog/tag/update/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yukun.info</link>
	<description>難しいことは分かりやすく、簡単なことは面白く紹介</description>
	<lastBuildDate>Thu, 26 Jan 2012 03:33:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MySQL: レコードの更新と削除 &#8211; UPDATE、DELETE文</title>
		<link>http://www.yukun.info/blog/2008/11/mysql-update-delete-record.html</link>
		<comments>http://www.yukun.info/blog/2008/11/mysql-update-delete-record.html#comments</comments>
		<pubDate>Sun, 16 Nov 2008 11:01:05 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Set]]></category>
		<category><![CDATA[UPDATE]]></category>
		<category><![CDATA[WHERE]]></category>

		<guid isPermaLink="false">http://www.yukun.info/?p=1248</guid>
		<description><![CDATA[前回はレコードの検索クエリの作成方法を扱いましたが、今回は既存のレコードのフィールド値を更新するUPDATE文と、レコードを削除するDELETE文の練習をしてみます。 まず、扱うテーブル内のレコードの一覧を下記に示します &#8230; <a href="http://www.yukun.info/blog/2008/11/mysql-update-delete-record.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/11/mysql-update-delete-record.html">MySQL: レコードの更新と削除 &#8211; UPDATE、DELETE文</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yukun.info/blog/2008/11/mysql-query-select-where-in-like-between.html" title="MySQL: データ検索クエリの基本 - SELECT文、WHERE句、LIKE、IN、BETWEENキーワード - Yukun's Blog">前回はレコードの検索クエリの作成方法</a>を扱いましたが、今回は既存のレコードのフィールド値を更新するUPDATE文と、レコードを削除するDELETE文の練習をしてみます。</p>
<p>まず、扱うテーブル内のレコードの一覧を下記に示します。これは前回と同じです。</p>
<pre>
mysql> SELECT * FROM book_list;
+---------+--------+--------+-------+-----------------------+
| book_id | title  | author | price | comments              |
+---------+--------+--------+-------+-----------------------+
|       1 | book_A | auth_A |  1500 | good, bad, excellence |
|       2 | book_B | auth_B |  2900 | not bad, good         |
|       3 | book_C | auth_C |  1800 | interesting, amazing  |
|       4 | book_D | auth_D |   700 | sad, depress          |
|       5 | book_E | auth_E |  1200 | good, funny           |
|       6 | book_F | auth_C |  3500 | bored, difficult      |
|       7 | book_G | auth_A |   400 | very good!, excellent |
+---------+--------+--------+-------+-----------------------+
</pre>
<h2>UPDATE文でレコードの更新</h2>
<p>それでは試しに、「<em>値段が1000円を超え2000円未満の本を100円値下げする</em>」SQL文を書いてみます。最初は念のため修正するレコードをSELECT文で出力してみます。</p>
<pre>
mysql> SELECT * FROM book_list
    -> WHERE price > 1000
    -> AND price < 2000;
+---------+--------+--------+-------+-----------------------+
| book_id | title  | author | price | comments              |
+---------+--------+--------+-------+-----------------------+
|       1 | book_A | auth_A |  1500 | good, bad, excellence |
|       3 | book_C | auth_C |  1800 | interesting, amazing  |
|       5 | book_E | auth_E |  1200 | good, funny           |
+---------+--------+--------+-------+-----------------------+
</pre>
<p>次に、UPDATE文で上の本を100円値下げしましょう。</p>
<pre>
mysql> UPDATE book_list
    -> SET price = price - 100
    -> WHERE price > 1000
    -> AND price < 2000;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
</pre>
<p>上手くいったようですね。UPDATE文の一般構文は以下のようになります。</p>
<blockquote><p><code>UPDATE ＜テーブル名＞<br />
SET ＜更新する列名1＞ = ＜代入する値1＞ [, ＜更新列名2＞ = ＜代入値2＞, ...]<br />
WHERE ＜条件式＞;</code></p></blockquote>
<p>WHERE句は省略可能です。<strong>SET句内のイコール「=」は代入</strong>演算子です（<strong>WHERE句の「=」は等価</strong>演算子）。複数のフィールドを書き換える際はSET句内の個々の代入式をカンマ<strong>「,」で区切り</strong>ます。UPDATE文は条件に合致する<strong>全ての</strong>レコードをSET句で<strong>書き換え</strong>ます。実際に書き変わったか確認してみましょう。</p>
<pre>
mysql> SELECT title, price FROM book_list
    -> WHERE price + 100 > 1000
    -> AND price + 100 < 2000;
+--------+-------+
| title  | price |
+--------+-------+
| book_A |  1400 |
| book_C |  1700 |
| book_E |  1100 |
+--------+-------+
</pre>
<p>確かに、100円値下げしてありますね。</p>
<h2>DELETE文でレコードを削除</h2>
<p>一般構文は、</p>
<blockquote><p><code>DELETE FROM ＜テーブル名＞<br />
WHERE ＜条件式＞;</code></p></blockquote>
<p>です。条件に合致する<strong>全ての</strong>レコードを削除します。</p>
<pre>
mysql> DELETE FROM book_list
    -> WHERE title = 'book_G';
Query OK, 1 row affected (0.00 sec)

mysql> SELECT title FROM book_list;
+--------+
| title  |
+--------+
| book_A |
| book_B |
| book_C |
| book_D |
| book_E |
| book_F |
+--------+
</pre>
<p>確かに、book_Gが削除されていますね。</p>
<h2>リファレンス</h2>
<ul>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/update.html" title="MySQL :: MySQL 5.1 Reference Manual :: 12.2.12 UPDATE Syntax" target="_blank">MySQL :: MySQL 5.1 Reference Manual :: 12.2.12 UPDATE Syntax</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/delete.html" title="MySQL :: MySQL 5.1 Reference Manual :: 12.2.2 DELETE Syntax" target="_blank">MySQL :: MySQL 5.1 Reference Manual :: 12.2.2 DELETE Syntax</a></li>
</ul>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/11/mysql-query-select-where-in-like-between.html" rel="bookmark" title="2008年11月13日">MySQL: データ検索クエリの基本 &#8211; SELECT文、WHERE句、LIKE、IN、BETWEENキーワード</a></li>
<li><a href="http://www.yukun.info/blog/2008/11/mysql-sort-record-order-by-asc-desc.html" rel="bookmark" title="2008年11月19日">MySQL: レコードを昇順・降順にソートして出力 &#8211; ORDER BY句</a></li>
<li><a href="http://www.yukun.info/blog/2008/11/mysql-insert-into-table-values.html" rel="bookmark" title="2008年11月11日">MySQL: データをテーブルに追加 &#8211; INSERT文、INTO、VALUES句</a></li>
<li><a href="http://www.yukun.info/blog/2008/11/alter-table-add-drop-change-modify.html" rel="bookmark" title="2008年11月7日">MySQL: 既存テーブルの構造の変更 &#8211; ALTER TABLE文、CHANGE COLUMN句</a></li>
<li><a href="http://www.yukun.info/blog/2008/11/mysql-group-by-same-value-field.html" rel="bookmark" title="2008年11月20日">MySQL: 同じ値のフィールドをグルーピング &#8211; GROUP BY句</a></li>
</ul>
<p><!-- Similar Posts took 9.240 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/11/mysql-update-delete-record.html">MySQL: レコードの更新と削除 &#8211; UPDATE、DELETE文</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/11/mysql-update-delete-record.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

