SQL入門 第3回 レコードの追加、更新、削除

前回はDDL(Data Definition Language)の1例として、テーブルのCREATE文の書き方を説明しました。

今回は、その作成したテーブルに対して、レコード追加したらり、更新したり、削除したりするSQLについて説明します。

3種類のレコード操作

前回SQLは大きくDDL・DML・DCLの3つに分かれると説明しましたが、

今回のレコード操作に関わるSQLは「DML」にあたります。

そしてこのDML追加(INSERT)更新(UPDATE)削除(DELETE)3種類しかありません。

レコードの追加

レコードを追加するには、INSERT文を使います。以下、INSERT文の構文です。

■1レコード追加するSQLです

INSERT INTO テーブル名
(
    列名1,
    列名2,
    ・・・・
)
VALUES
(
    値1,
    値2,
    ・・・・
)

■複数レコード追加するSQLです

INSERT INTO テーブル名
(
    列名1,
    列名2,
    ・・・・
)
VALUES
(値1, 値2, ・・・),
(値1, 値2, ・・・)

■INSERTするデータの数・型・順序がテーブルの列と一致していれば、列の指定は省略することができます

INSERT INTO テーブル名
VALUES
(値1, 値2, ・・・),
(値1, 値2, ・・・)

以下、生徒テーブルにレコードを追加するSQLの例です。

INSERT INTO 生徒
VALUES
(1, '広瀬', '彩海', '1組'),
(2, '野村', 'みな美', '1組')

レコードの更新

レコードを更新するには、UPDATE文を使います。以下、UPDATE文の構文です。

UPDATE テーブル名
SET
    列名1 = 値1,
    列名2 = 値2,
    ・・・・
WHERE
    [条件]

以下、生徒テーブルのレコードを更新するSQLの例です。

UPDATE 生徒
SET
    姓 = '廣瀬'
WHERE
    出席番号 = 1

上記SQLを実行すると、以下のようにレコードが更新されます。

レコードの削除

レコードを削除するには、DELETE文を使います。 以下、DELETE文の構文です。

DELETE FROM テーブル名
WHERE
    [条件]

以下、生徒テーブルのレコードを削除するSQLの例です。

DELETE FROM 生徒
WHERE
    出席番号 = 1

上記SQLを実行すると、以下のようにレコードが削除されます。

※WHERE句をつけないと、該当するテーブルの全レコードを削除してしまいます。WHERE句の付け忘れや、条件の間違いには要注意です!!

練習問題

問題

Q.「テスト得点」テーブルにレコードを2行追加するINSERT文を作りなさい。

なお、「テスト得点」テーブルは以下のCREATE文で作成されています。

CREATE TABLE テスト得点
(
    教科 VARCHAR(5) PRIMARY KEY,
    出席番号 INT NOT NULL,
    点数 INT NOT NULL,
    テスト実施日 DATETIME
)


答え

INSERT INTO テスト得点
VALUES
('国語', 1, 90, '2020-05-06 10:00:00'),
('算数', 1, 86, '2020-05-06 13:00:00')

第3回「レコードの追加・更新・削除」は以上です。

次回、第4回は「レコードの検索」です。

→SQL学習の入門・初心者にオススメの書籍3選