2009/01/19
【誰にでもできる!システム開発】データの追加・更新・削除
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『誰にでもできる!システム開発』 2009/01/19 号
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ご愛読、ありがとうございます。
このメールマガジンは、システム開発を始めたばかりの方、これから始める
方向けに、筆者が日頃から心がけていることをお話しています。
扱う内容については、テクニックと考え方を半分ずつで構成しています。
思っていた内容と違う、つまらない、読む気力が無くなったという方、
購読解除はこちらからできます。
http://www.mag2.com/m/0000263428.html
著者プロフィール
http://www.shiga-it-office.com/mailmagazine/writer.html
事務所概要
http://www.shiga-it-office.com/profile.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■第30回 データの追加・更新・削除
────────────────────────────────────
前回は、データを取り出すための基本操作についてお話しました。
「射影」、「選択」、「結合」は基本中の基本ですので、しっかり理解して
おきたいですね。
今回は、データを追加・更新・削除についてお話します。
データを取り出す時と同じく、SQLを使用して操作します。
実例を通して紹介しますので、以下のサンプルテーブルをご覧ください。
・商品
----------------------------------
| 商品コード | 商品名 | 単価 |
-------------+------------+-------
| A001 | 抹茶ケーキ | 200 |
-------------+------------+-------
| A002 | モンブラン | 250 |
-------------+------------+-------
| B001 | クッキー | 80 |
-------------+------------+-------
| B002 | ビスケット | 70 |
----------------------------------
・商品候補
----------------------------------
| 商品コード | 商品名 | 単価 |
-------------+------------+-------
| A003 | エクレア | 150 |
----------------------------------
●行の追加
行を追加するには、INSERTを使用します。
INSERT INTO テーブル名 (カラム1, カラム2, …) VALUES (値1, 値2, …)
データは行単位で追加されますが、データがセットされるカラムを指定する
ことができます。指定されないカラムはNULL値となります。
データベースによっては、カラム名を全て省略すると全カラムが対象となる
ことが多いようです。
商品テーブルに追加する例
INSERT INTO 商品
(商品コード, 商品名, 単価) VALUES ('A003', 'エクレア', 150)
また、SELECTで取得したデータをそのまま追加することもできますが、カラ
ムを揃える必要があります。
INSERT INTO 商品 (商品コード, 商品名, 単価)
SELECT 商品コード, 商品名, 単価 FROM 商品候補
●行の更新
データは状況に応じて変更されていくものです。
変更には、UPDATEを使用します。
UPDATE テーブル名 SET カラム1 = 値1, カラム2 = 値2, … WHERE 条件式
WHEREで指定された条件に該当するレコードに対し、指定カラムの値を置き
換えることができます。
WHERE式を省略すると、テーブル内の全レコードが対象となりますので注意
しましょう。
商品テーブルの金額を変更する例
UPDATE 商品 SET 単価 = 220 WHERE 商品コード = 'A001'
●行の削除
不要になったデータはデータ取得の邪魔になりますので、削除することがで
きます。
削除には、DELETEを使用します。
DELETE FROM テーブル名 WHERE 条件式
WHEREで指定された条件に該当するレコードを削除できます。
UPDATEのときは「FROM」がありませんでしたが、DELETEのときは必要ですの
で間違えないようにしましょう。(データベースによってはUPDATEにFROMを
付けても問題ないものもあります)
商品テーブルから削除する例
DELETE FROM 商品 WHERE 商品コード = 'A001'
●注意事項
ある処理で複数回の更新系SQLを実行する場合、途中で失敗するとデータの
整合性が崩れることがあります。
これを防ぐため、トランザクション処理というものがあり、全て成功した時
はコミット(COMMIT)、一つでも失敗したときはロールバック(ROLLBACK)
を行います。
また、データの整合性を保つために、制約を設定していると更新系SQLが制
約に違反しているときにエラーとなりますので、制約を設定している場合は
仕様書に分かりやすく書いておいた方がよいでしょう。
------------------------------------------------------------------------
■編集後記
最後までお読みいただき、ありがとうございました。
景気が大分悪化してまいりましたが、資格関連のビジネスは申込者数が増え
ているそうです。
連日テレビで派遣社員の実態が放送されているからなのか、危機感を持った
人が資格でも取ろうかと考えているようです。
景気が良くて仕事が溢れているときは、あまり努力しなくても仕事をもらえ
るということもあって、自分投資をする人が少ないものです。
景気が悪くなってきたから慌てて勉強するのではなく、普段から将来のため
に勉強しておくと、このような時に役に立つのではないかと思います。
努力は自分を裏切りませんからね。
ご感想・ご意見・ご要望などありましたら、気軽にご連絡ください♪
では、また次回お会いしましょう!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『誰にでもできる!システム開発』 2009/01/19 号
本日のメールマガジンを読んだ感想をお聞かせください。
お寄せいただいた感想は、メールマガジン上で紹介させていただくことが
ありますので、ご了承ください。
配信中止はこちらから↓
http://www.mag2.com/m/0000263428.html
メールアドレスの変更はこちらから↓
http://www.mag2.com/m/0000263428.html
ご意見&ご感想はこちらから↓
http://www.shiga-it-office.com/mailmagazine/ImpressionFrom.html
コンサルティングのご相談はこちらから↓
http://www.shiga-it-office.com/inquiry.html
発行元 志賀IT事務所
http://www.shiga-it-office.com/
関連メールマガジン 「誰にでもできる!インターネット活用術」
http://www.mag2.com/m/0000263426.html
関連ブログ
☆コンサル日和
http://d.hatena.ne.jp/kei_onpu/
☆爆裂!C#野郎
http://csharp.yaminabe.info/
☆10年戦える開発技術
http://10year.yaminabe.info/
☆情報処理技術者試験午前対策
http://am.yaminabe.info/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



