🧑🏻‍💻

【SQL】基本構文まとめ

2023/07/26に公開

はじめに

以前からSQLはProgeteなどで一通り学んでいましたが、現場でSQLを扱うことになったので、改めてSQLについて調べました。
今回は基本構文4つについてまとめています。検索の絞り込み、データの加工などについては、次回まとめたいと思います。

SQLとは

  • データの操作や定義をおこなうためのデータベース言語のこと

データベースとは

  • 決まった形式で整理されたデータの集まりのこと
  • 大量のデータを扱いやすいように整理して保存し、管理する

RDBとは

  • リレーショナル・データベース(Relational DataBase)の略
  • データを表形式で管理する(ExcelやGoogleスプレッドシートのような形)

RDBで重要な用語

  • テーブル:データベースの中にデータを保存する表のこと
  • カラム:テーブルの縦の列のこと
  • レコード:テーブルの横の列のこと

クエリとは

  • データベースに送る命令のこと
  • select文、insert文、update文、delete文などがある

👇データベースについてまとめた記事はこちら
https://zenn.dev/miya_akari/articles/e3fe289f033f46

基本構文① select文

select文は、selectキーワードを使用して、データを取得する文です。

select

  • テーブルからどのカラムのデータを取得するかを指定する
select カラム名1, カラム名2, ...

from

  • selectで選んだカラムがどのテーブルのカラムかを指定する
from テーブル名

selectfromを使用したクエリ

👇「usersテーブル」から、「nameカラム」と「ageカラム」のデータを取得する

sample
select name, age from users;

*(アスタリスク)

  • テーブルからすべてのカラムのデータを取得する
select *

where

  • テーブルからどのレコードを取得するかを指定する
where カラム名 = 条件

*whereを使用したクエリ

👇「usersテーブル」から、「cityがOsaka」であるレコードの「すべてのカラム」のデータを取得する

sample
select * from users
where city = 'Osaka';

基本構文② insert文

insert文は、insertキーワードを使用して、レコードに新しくデータを追加(挿入)する文です。

insert into

  • テーブルに新しくレコードを挿入する
insert into テーブル名(カラム名1, カラム名2, ...)

values

  • テーブルに追加したいデータを指定する
values(1,2, ...)

insert intovaluesを使用したクエリ

👇「usersテーブル」に新しくレコードを挿入する

sample
insert into users(name, age, city)
values('Akari', 5, 'Osaka');

基本構文③ update文

update文は、updateキーワードを使用して、テーブルのデータを更新する文です。

update

  • テーブルのデータを更新する
update テーブル名

set

  • 更新したいカラムと値を指定する
  • whereと組み合わせて使用する
set カラム名 = 新しい値

updatesetを使用したクエリ

👇「usersテーブル」の「idが3」のデータの「age」と「city」を更新する

sample
update users
set age = 5, city = 'Osaka'
where id = 3;

基本構文④ delete文

delete文は、deleteキーワードを使用して、レコードを削除する文です。

delete from

  • テーブルのレコードを削除する
  • whereと組み合わせて使用する
delete from テーブル名

delete fromを使用したクエリ

👇「usersテーブル」の「idが3」のレコードを削除する

sample
delete from users
where id = 3;

おわりに

今回は4つの基本構文についてまとめました。
学んだSQLは、以下のサイトで練習して定着させたいと思います〜!👇
https://sqlab.net/

参考

https://www.w3schools.com/sql/default.asp
https://qiita.com/tatsuya4150/items/69c2c9d318e5b93e6ccd
https://techlife.cookpad.com/entry/2016/11/09/000033
https://qiita.com/yukiyoshimura/items/9103cdc88eca507e3c2c

Discussion