はじめてのSQL【初心者編:DMLについて】
こんにちは。
スタッフブログ担当の岩でございます。
前回はSQLのDDLについての記事を公開いたしました。
https://vift.co.jp/blog/はじめてのsql【初心者編-ddlについて】/
今回はDMLの詳細について説明いたします。
DML(データ操作言語)
DMLに分類される命令は次の通りです。
・SELECT:テーブルから行を検索する。
・INSERT:テーブルに新規行を登録する。
・UPDATE:テーブルの行を更新する。
・DELETE:テーブルの行を削除する。
・TRUNCATE:テーブルの行をすべて削除する。
それぞれの書き方を説明いたします。
SELECT
・列の出力
SELECT <列名> FROM <テーブル名>;
もしshohinというテーブルからshohin_nameという列を出力する場合はこのようになります。
SELECT shohin_name FROM shohin;
SELECTにはASキーワードで列に別名を付けたり、WHERE句で検索条件を付けることができますが、今回は省略いたします。
DML君が列を出力したよ
INSERT
・行の挿入
INSERT INTO <テーブル名> (列1, 列2, 列3, ...) VALUES (値1, 値2, 値3, ...);
もしshohinテーブルにshohin_idを’1’、shohin_nameを’Tシャツ’、shohin_tankaを’1500’という値を挿入する場合はこのようになります。
INSERT INTO shohin (shohin_id, shohin_name, shohin_tanka)
VALUES ('1', 'Tシャツ', '1500');
INSERT分を作成する際に注意点があります。
・文字列を挿入する場合は値を’(シングルコーテーション)で囲む。
・列の数と値の数が異なるとエラーが発生する。
また、INSERT文はSELECT文を使って、他のテーブルからデータをコピーすることもできますが、今回は省略いたします。
DML君が行を挿入したよ
UPDATE
・データの更新
UPDATE <テーブル名> SET <列名> = <値>;
もしshohinテーブルのshohin_tankaを全て’5000’とする場合はこのようになります。
PDATE shohin SET shohin_tanka = '5000';
UPDATEにはWHERE句で更新する行の条件を付けたり、値ではなく式を入れることもできますが、今回は省略いたします。
DML君が行を更新したよ
DELETE
・データの削除
DELETE FROM <テーブル名>;
データを削除する方法は複数あります。
前回紹介したDROP TABLE文かDELETE文になります。
DROP TEBLE文はテーブルごと削除するため、CREATE TABLE文でテーブルの作成から始めなければなりませんが、DELETE文はデータを削除してもテーブルは残っているため、INSERT文ですぐにデータを再登録することができます。
もしshohinテーブルのデータを削除する場合はこのようになります。
DELETE FROM shohin;
DELETE文にはWHERE句を使って、削除する行の条件を付けることができますが、今回は省略いたします。
DML君が行を削除したよ
TRUNCATE
・データの高速削除
TRUNCATE TABLE <テーブル名>;
実はデータを削除する方法はまだあります。
DROP TABLE文、DELETE文の他にはTRUNCATE文もあります。
TRUNCATE文はDELETE文と似た処理結果で処理は高速ですが、いろいろと制約もございます。テーブルの複数指定が出来ない、条件で指定しての削除が行えない(テーブル内のデータは全て削除されます)など。
DROP TABLE文、DELETE文、TRUNCATE文の使い分けが重要となります。
もしshohinテーブルのデータを削除する場合はこのようになります。
TRUNCATE TABLE shohin;
まとめ
今回はSQL文のDML(データ操作言語)について説明いたしました。
途中で何度かでてきたWHERE句は条件を付けるために必要となってきますが、できることがたくさんある分とても複雑になってきます。
まずは基本の書き方を学びましょう。
最後まで読んでくださいありがとうございました。
次回はSQLのDCL(データ制御言語)について説明いたします。
どうぞよろしくお願いいたします。