【試して覚える】SQLite で Update 文入門

当ページのリンクには広告が含まれています。

insert 、delete と続いた後は、 update文の解説です。

delete文は指定した条件で削除するものですが、update文は指定した条件のデータを更新するという役目を持っています。

削除と更新という違いはありますが、使い方や注意点は delete と同じです。

SQLを試す場合は、 こちら でツールを公開していますので、ダウンロードをお願いします。

目次

update文の書式

updateの書式は次の様になります。

update テーブル名 set カラム1=値1,カラム2=値2,・・・ where 条件式

カラムごとに値が設定できるので、カラムと代入したい値のペアを、カンマで区切るような記述になります。

最後に絞り込み条件を指定するため where 区を付加するところは delete 文と同じです。

where 区の指定を忘れると、全てのレコードが変更されてしまうのでご注意ください。

update を試してみる

では、商品マスタのメーカー名を “SONY” から “ソニー” に変えることを考えてみます。

ここで抽出条件を間違うと、意図しないレコードが変更されてしまうので、delete と同じく select 文で動作を確認します。

select * from 商品マスタ where メーカー=’SONY’

結果は次の様になります。

では、さっそく update してみましょう。

update 商品マスタ set メーカー = ‘ソニー’ where メーカー=’SONY’

実行した結果、一覧部分が空白になりました。

delete と同様、update を実行しても何も返ってこないので、空白になります。

では、確認の為に再び select してみましょう。

select * from 商品マスタ where メーカー=’SONY’

メーカーが ‘SONY’ というレコードは存在しないので、0件として表示されます。

すべてのレコードを変更しているとまずいので、delete と同様に確認します。

select * from 商品マスタ

メーカー名が ’ソニー’ になっているレコードと、それ以外(富士フィルム、CANON、カシオ)が表示されているので、update に指定した条件は正しかったようです。

別の確認方法として、where 区で抽出条件を確認する際にヒットした件数をメモっておき、update を行った後で、変更後の値で検索するという方法もあります。

例えば今回の場合なら、次のような select を実行します。

select * from 商品マスタ where メーカー=’ソニー’

結果は以下の様になりますので、最初に調べておいた件数(22件)と一致していれば、指定したレコードのみ意図した通りに更新されていることが確認できます。

まとめ

今回は update によるデータの更新を解説しました。

update もdelete と同様、以下の点に注意が必要です。

  • where 区で削除対象の絞り込み条件を指定する。
  • where 区を指定しないと、全件が削除される。
  • select で絞り込み条件を確認してから,update文に置き換えて実行すると安心

という3点だけ押さえてけばOKです。

本サイトで公開しているツールを使えば、更新しては元に戻すということを簡単に繰り返せますので、色々と実験してみて下さい。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次