※学習中のため間違っている箇所があるかもしれません。
はじめに
前回まででデータベース、テーブルの作成が完了しました。
そのため今回は作成したテーブルを使用し、データの操作を行っていきます。
SQL基本構文としてINSERT
/SELECT
/DELETE
/UPDATE
があります。
それぞれの役割、意味を正しく理解していきましょう。
INSERT
まず学習していくのがINSERT
です。
INSERT文はテーブルにレコードを挿入する際に使用する構文です。
挿入したいデータとどのテーブルに挿入するかを構文で記載し、実行します。
レコードの挿入
レコードを挿入していきましょう。
まずは基本構文を記載します。
INSERT
構文
INSERT INTO テーブル名 (カラム1, カラム2, カラム3) values(データ1, データ2, データ3)
各カラムに対応するデータをvalues()内に記載していくことでデータを挿入することができます。
実際のSQL
INSERT INTO users (name, email, role, created_by, updated_at, delete_flg)
values ('taro', 'example@example.com', 'USER', 'SYSTEM', NULL, false);
前回作成したテーブルにデータを挿入していきましょう。
レコードが一件挿入されているのがわかります。
実際の挿入データを見る前にまずはSELECT文の学習していきましょう
SELECT
SELECT
文はテーブルからデータを取得する際に使用する構文です。
取得したいカラム、テーブルを記載することで必要なデータのみ取得することができます。
SELECT
構文
--構文1
SELECT * FROM テーブル名;
--構文2
SELECT カラム1, カラム2 FROM テーブル名;
※「*」はすべてのカラムを対象としていることを表しています。
実際のSQL
SELECT * FROM users;
実際に動かしてみてみましょう。
先ほど挿入したデータが表示された場合、成功です。
※created_atは記載していませんが、テーブル定義でdefaultの値が設定されているため、自動で値が設定されます。
ここまでで登録→取得の流れがわかりました。
次でDELETE/UPDATEの構文を確認していきましょう。
UPDATE
UPDATE
文は既に存在しているデータを別のデータで上書きするために存在します。
更新したいテーブルとカラムを指定することで、特定の値のみ更新することができます。
UPDATE
構文
UPDATE テーブル名 SET カラム名=値, カラム名2=値;
実際のSQL
UPDATE users SET name='jiro', email='jiro@example.com';
実際に動かしてみましょう
※SQL実行時、以下のように「WHERE区の存在しない分です」と警告が表示されます
今回は気にせずに実行しましょう。
※WHERE区を省略すると全レコードが対象となります。
今回は学習目的なので全件更新していますが、実務では必ずWHERE区を使用しましょう。
更新完了メッセージが表示されます。
SELECT
文で結果を確認
nameの値が「jiro」に、emailの値が「jiro@example.com」に変更されているのがわかります。
このように一部のデータを変更する際にUPDATE
文を使用することが多いので覚えておきましょう。
DELETE
DELETE文
はテーブルからレコードを削除する際に使用します。
削除したいテーブルを選択することでレコードを削除できます。
DELETE
構文
DELETE FROM テーブル名;
実際のSQL
DELETE FROM users;
DELETE
文もUPDATE
文同様に警告が出ますが、今回は気にせず行きましょう。
※WHERE区を省略すると全レコードが対象となります。
今回は学習目的なので全件更新していますが、実務では必ずWHERE区を使用しましょう。
SELECT
文で結果を確認
先ほど挿入したデータが消えているのが確認できます。
まとめ
今回はSQLの基本構文である以下の4つを学習しました:
-
INSERT
:データの追加 -
SELECT
:データの取得 -
UPDATE
:データの更新 -
DELETE
:データの削除
これらは実務でも非常によく使う基本構文です。
確実に使いこなせるようにしておきましょう!
次回はWHERE
、ORDER BY
、LIMIT
、LIKE
「検索条件」に関する構文を学習していく予定です。
引き続き、SQLの基礎力を高める学習記事を投稿していきます!
前:SQL学習入門 | SQLでデータベース作成、テーブル作成を行ってみた
次:SQL学習入門 | WHERE/ORDER BY/GROUP BY/HAVING 基本構文を学習してみた