前回は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回は「レコードの検索」です。
最近のコメント