【初学者必見!】SQLの超基礎を徹底解説!テーブルデータ更新編

サムネイル SQL

※この記事にはプロモーションが含まれています。

ふりかえり

筆者
筆者

この記事では、テーブルデータを更新する方法を解説します。

テーブルの作成方法については、以下の記事を参照してください。

A子
A子

今回使用するテーブルは、以前作成したテーブルと同じよ!!

筆者
筆者

ちなみに、SQLの実行方法を知りたいという方は、

ぜひ!!下記の記事を参考にしてください。

A子
A子

環境構築が不要で、ブラウザで無料で使用できるから、

SQLの練習にはもってこいだよ!

今回のSQLも、Oracle Live SQLで実行していくよ!

筆者
筆者

テーブルにデータを挿入するINSERT文の解説は

下記の記事をご覧ください!

今回は、データを挿入した後に、更新していきます。

A子
A子

ぜひ、ご覧くださいませ!

筆者
筆者

テーブルからデータを取得する方法については、以下の記事を参照してください。

A子
A子

ぜひ、ご覧くださいませ!

update文を使ってテーブルを更新しよう

筆者
筆者

まずは、基本構文から見ていきましょう!

update テーブル名
set 列名1 = 値1, 列名2 = 値2, ...
where 条件;

A子
A子

update,set,whereだね。

筆者
筆者

はい、そうです。

ちなみに、where を書き忘れると、テーブル内のすべての行が変更される ので要注意です。

テーブル名:更新するデータが入っているテーブルの名前

set:変更したい列(カラム)と新しい値を指定

where:どの行を更新するのかを指定(省略すると全ての行が更新されるので注意!

筆者
筆者

実際に、SQLを使用して確認していきましょう。

テーブルの作成に関しては以下を使用します。

<テーブル作成のSQL>

-- 申請管理情報テーブルの作成
create table 申請管理情報 (
    STAFF_NO varchar2(10) not null,  -- 職員番号 (Staff Number) 
    APPLI_NO varchar2(10) not null,  -- 申請番号 (Application Number) 
    APPLI_DATE date,                 -- 申請年月日 (Application Date) 
    APPROVAL_DATE date,               -- 承認日 (Approval Date)
    SEND_BACK_DATE date,              -- 差戻年月日 (Send Back Date) 
    APPLICATION_CONTENT varchar2(50), -- 申請内容 (Application Content) 
    constraint PK_申請管理情報 primary key (STAFF_NO, APPLI_NO)
);

筆者
筆者

SQLを実行して、テーブルが作成されたことが確認できましたら、

以下のSQLを実行して、データを挿入していきます。

<テーブルデータ挿入のSQL>

insert into 申請管理情報 (STAFF_NO, APPLI_NO, APPLI_DATE, APPROVAL_DATE, SEND_BACK_DATE, APPLICATION_CONTENT)
values ('1001', 'A001', to_date('2024-02-01', 'YYYY-MM-DD'), to_date('2024-02-05', 'YYYY-MM-DD'), NULL, 'ガソリン代支給');

<テーブルデータが挿入されているかを確認するSQL>

select * from 申請管理情報;

update文を使用して申請内容を変更してみよう

<テーブルデータ更新のSQL>

update 申請管理情報
set APPLICATION_CONTENT = '交通費支給'
where STAFF_NO = '1001' and APPLI_NO = 'A001';

申請管理情報 テーブルの APPLICATION_CONTENT'交通費支給' に更新します。

STAFF_NO = '1001' かつ APPLI_NO = 'A001' のデータ 1件のみ を更新します。

update文を使用して承認日を変更してみよう

<テーブルデータ更新のSQL>

update 申請管理情報
set APPROVAL_DATE = to_date('2024-02-07', 'YYYY-MM-DD')
where STAFF_NO = '1001' and APPLI_NO = 'A001';

update文を使用して差戻し日を追加してみよう

<テーブルデータ更新のSQL>

update 申請管理情報
set SEND_BACK_DATE = to_date('2024-02-10', 'YYYY-MM-DD')
where STAFF_NO = '1001' and APPLI_NO = 'A001';

update文を使用して複数のカラムを同時に更新してみよう

<テーブルデータ更新のSQL>

update 申請管理情報
set APPLICATION_CONTENT = 'ガソリン追加支給',
    APPROVAL_DATE = to_date('2024-02-26', 'YYYY-MM-DD'),
    SEND_BACK_DATE = to_date('2024-02-27', 'YYYY-MM-DD')
where STAFF_NO = '1001' and APPLI_NO = 'A001';

まとめ

筆者
筆者

テーブルデータ更新について解説しました。

次回もお楽しみに!

この記事を書いた人
たくたく

文系出身・3年目のWeb系エンジニアです。
C#とSQLを得意としています。
同棲生活は2年目に入り、日々仲良く楽しく暮らしています。
プライベートではバイクや車で旅行に行くことが趣味です。
サンリオ好きで、中でもシナモン推しです。
お酒好きとして毎週の晩酌をリラックスタイムにしています。

たくたくをフォローする
SQLエンジニア
シェアする

コメント

タイトルとURLをコピーしました