第15回 更新処理を覚えよう - MySQL講座
サカイ先生のMySQL講座
Lecutures on PHP
第15回 更新処理を覚えよう (その4)
削除する
- もっと怖い命令というのは「削除」ですね。
- そう。削除体験として、さっき太郎君が登録してくれた、太郎君データを削除しようか。
- はい。 ID 67621 でしたので、消します。削除前に、WHERE条件が正しいかを SELECT で確認したほうが安全ですね。
SELECT * FROM customers WHERE id=67621; DELETE FROM customers WHERE id=67621;
1行目のSELECTで確認して、表示されたのが僕のデータだったら、同じ条件(WHERE句)になっている2行目のDELETE文で削除をする方針でいきまーす。
mysql> SELECT * FROM customers WHERE id=67621;
+-------+-------------+----------+-----------------+----------------+------------+---------------------+---------------+
| id | name | zip | prefecture_code | address | birthday | regist_date | unregist_date |
+-------+-------------+----------+-----------------+----------------+------------+---------------------+---------------+
| 67621 | ぼくは 太郎 | 123-4567 | 13 | 東京都のどこか | 1985-11-05 | 2009-04-04 16:14:15 | NULL |
+-------+-------------+----------+-----------------+----------------+------------+---------------------+---------------+
1 row in set (0.02 sec)
- たしかに僕のデータ1件だけが表示されたので、同じ条件(WHERE句)でDELETEを実行します。
mysql> DELETE FROM customers WHERE id=67621;
Query OK, 1 row affected (0.03 sec)
- そして再度、最初と同じ条件でSELECTして確認。
mysql> SELECT * FROM customers WHERE id=67621;
Empty set (0.00 sec)
- たしかに僕がいなくなりました。・・・・ちょっと寂しいです。。
- あはは。まぁ太郎君の練習用データベースだから、登録したかったらまた登録したらいいよ(笑)。
ともかく、削除文そのものだけでなく、前後の「ちゃんと処理ができたか」の確認を含めて、完璧だね。
残りあとわずか
- そういえば前回、都道府県別顧客数の人口比を出してみたいからデータを探してみよう、って話をしていたけど、データはあった?
- はい!ちょうどいいデータがすぐに見つかりました!
- じゃぁ次回はそれを使って、prefecture テーブルの拡張とデータの投入。そして太郎君のやりたかった「対人口比率」での集計をやってみようか。
- やったぁ、ありがとうございます。
- そして、さらにその次の回で、その他細々したお話しをいくつかして、太郎君にも免許皆伝ということにしようかなと思っているから。
- 免許皆伝、って嬉しいですけど、それって「おしまい」って意味ですか?
おわりに

いかがでしたか。更新系の構文をただ単に実行する方法ならば第1シーズンの講座でも紹介しました。今回は先輩の経験や太郎君の鋭いセンスで、更新処理の際にどんなミスを起こしやすいか、正しく更新されたことを確認するにはどう言った点に着目したらよいのかを聞くことができたと思います。
さて、先輩からの紹介にもあったとおり、本講座も残すところあと僅かとなりました。あと2回にわけて、テーブルレイアウトの変更方法やデータのダンプ方法などのテクニックやTIPSを学びます。お楽しみに。
その他の記事も見る
- 第1回 データベースの世界へ足を踏み入れよう
- 第2回 MySQLをインストールしよう
- 第3回 テーブルとデータ操作のガイドツアー
- 第4回 データの登録と参照を覚えよう
- 第5回 データの更新と削除を覚えよう
- 第6回 この連載で学んだことって!?
- 第7回 ローカル環境を作ろう
- 第8回 データを登録しよう
- 第9回 サンプルテーブルのレイアウトを把握しよう(1)
- 第10回 実践的検索操作を学ぼう(1)
- 第11回 実践的検索操作を学ぼう(2)
- 第12回 実践的検索操作を学ぼう(3)
- 第13回 実践的検索操作を学ぼう(4)
- 第14回 実践的検索操作の総まとめ
- 第15回 更新処理を覚えよう
- 第16回 テーブル定義の変更と応用練習
- 第17回 その他のちょっとしたテクニック
- >>「サカイ先生のMySQL講座」一覧ページに戻る
- サカイ先生
本名:坂井 恵(さかいけい)
有限会社アートライ 代表取締役
日本MySQLユーザ会(MyNA; http://www.mysql.gr.jp/) 副代表
システム開発で一番楽しいのは要件を決めて設計をするフェーズ。ここを楽しむために諸分野の基礎固めが重要だと考えている。
近著に『MySQL辞典』『MySQL徹底入門』(翔泳社) など。





ページのトップへ


kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。