SQL

SQLの基礎の基礎の基礎についてまとめてみた【初心者向け】

SQLの基礎の基礎の基礎についてまとめてみた【初心者向け】

今回は、SQLの基礎の基礎の基礎についてまとめてみました。

「SQLって何?それ美味しいの?」レベルの人に読んで頂けると嬉しいです。(もちろん上級者の方も大歓迎ですが!)

 

なるべく分かりやすく書くので、参考にして頂けると嬉しいです。

 

SQLとは何か?【SQL概要】

そもそも、「SQL(Structured Query Language)」とは何なのでしょうか?

一言でいうと、SQLとは、データベースを操作するための言語です。

 

SQLを使うことで、データベースに格納したデータを操作することができます。

例えば、データを取り出したり、追加したり、削除したり、更新したりすることができるということです。

SQLは、データベースを操作するための言語

 

データベースの仕組みについて

SQLが「データベースを操作するための言語」だということは分かりました。では、「データベース」とは何なのでしょうか?

簡単に説明すると、データベースとは、「データを格納するための箱」的なものです。(当たり前ですが。。)

データベースのイメージ図このデータベースの中に、様々なデータが格納されています。

 

では、どのような形式でデータは格納されているのでしょうか?

 

データを格納する方法(データベースの種類)はたくさんあります。

例えば、「リレーショナル型データベース」「階層型データベース」「ネットワーク型データベース」「キー・バリュー型データベース」などです。

しかし、最近では、一番最初に挙げた「リレーショナルデータベース」が主流になっています。

 

そこで今回は、主に「リレーショナルデータベース」について説明していきます。

リレーショナルデータベースについて

「言葉で説明するより視覚的に理解した方が早い」ということで、具体的な図を作ってみました。以下に示しているのが、簡易的な「リレーショナルデータベース」です。

大きな特徴は、横軸と縦軸からなる「表」でデータが管理されている点です。

リレーショナルデータベース

 

リレーショナルデータベースにおいては、表全体のことを「テーブル」縦の列のことを「カラム」、横軸、つまりそれぞれのデータそのものを表している部分を「レコード」と表現します。

これらは、リレーショナルデータベースを扱うにあたっては必ず触れることになる言葉なので、しっかりと覚えておいて下さい。

 

以上が、簡単にではありますが、リレーショナルデータベースの説明です。SQLは、これらの「レコード」や「カラム」を指定することでデータベース操作を行います。

 

次のセクションでは、具体的なSQLの書き方を見ていきます。

  • データベースとは、「データを格納するための箱」的なもの
  • 「リレーショナル型データベース」が主流
  • テーブル・レコード・カラムは覚えておく

 

データベース補足1:DBMSについて

データベースは、一般的には「DBMS(データベースマネジメントシステム)」などと言われています。

要は、データベースだけではただの「データを格納するためだけの箱」なので、それを支えるためのシステムが必要で、そのシステムも合わせた総称が「DBMS」だということです。

 

とはいえ、データベースとDBMSはしっかりと区別されているわけではなく、一般的には、DBMSのことをデータベースと呼んだりします。

例えば、SQLite、MySQLなどは、厳密にはDBMSですが、一般には「データベース」と呼ばれています。

なので、「DBMS=データベース」と思ってもらって大丈夫です。混乱しないように注意して下さい。

 

DBMSについては、こちらの記事が分かりやすいので、理解を深めたい方は読んでみると良いでしょう。

 

データベース補足2:NoSQLについて

最近データベース関連でよく聞く言葉として、NoSQL(Not only SQL)があります。

 

NoSQLとはその名の通り、「SQLを使わずにデータを保存するデータベース」のことです。

具体的には、Key-Value型データベース(Key-Valueストア(kvs))のことを指して言う場合が多いです。

 

今回はNoSQLの解説はしませんが、頻繁に出てくる言葉なので頭の片隅に置いておきましょう。

参考記事:NoSQLとは?RDBMSと比較しながら分かりやすく解説

 

※2022年5月1日追記:KVSについて記事にまとめました!

KVSとは?基礎をわかりやすく解説します【ハンズオンあり】
KVSとは?基礎をわかりやすく解説します【ハンズオンあり】KVSの基礎を分かりやすく解説します。...

 

基礎的なSQLの書き方をまとめる

ここまでで、「SQLとは何か?」「データベースとは何か」については、ザックリと理解できたと思います。そこで次に、具体的なSQLの書き方について説明していきます。

あくまで初歩の初歩ですが、これさえ理解しておけば「SQL初心者レベル」には達することができるので参考にして頂けると嬉しいです。

 

それでは一つずつ見ていきましょう。

テーブルを作成するSQL

まずは、テーブルを作成する方法です。下記のようなSQLを記述することで、任意の構成のテーブルを作成することができます。

CREATEでテーブルを生成

「型」とは、カラムのデータ形式のことです。

例えば、データが整数なら「INTEGER」を記述し、データが文字列なら「TEXT」を記述するといった感じです。

 

この辺りは、実際にテーブルを作るときにしっかりと考えて、適切な型を指定するようにしましょう。

 

これでテーブルの作成はできました。次に、データを挿入する方法を見ていきましょう。

データを挿入するSQL

テーブルにデータを挿入するには、下記のSQLを実行します。

INSERTでデータ挿入

ポイントは、カラムと値の記述の順序を揃えることです。カラムの順序と値の順序は対応しているので、適切な順序で記述しましょう。

データを更新するSQL

テーブルのデータを更新するには、以下のSQLを記述します。SETの部分に、更新するカラム名と、新たなデータを記述しましょう。

UPDATEで更新

テーブルを削除する

テーブルを削除したい場合は、以下のSQLを記述します。

DELETEでテーブル削除

テーブルからデータを取り出すSQL

ここまで、テーブルの作成、データの挿入、更新、削除について見てきました。

 

では、これらの処理を行って作成したテーブルから、データを取り出すにはどうすれば良いのでしょうか。

 

データを取り出すには、以下のコードを記述します。このように記述することで、FROMに指定したテーブルの、任意のカラムのデータを取り出すことができます。

SELECTでデータを取得

これが本当に「基礎の基礎の形」なので、しっかりと頭に入れておくようにしましょう。

※全てのカラムを取得したい場合は、「*」をSELECTの後に書けばOKです。わざわざ全てのカラム名を記述する必要はありません。

特定の条件のデータを処理するSQL

ここまでは、「全てのデータを処理する方法」でした。

つまり、テーブルの全データや任意のカラムのデータは取り出せても、特定の条件のデータを個別で処理することはできていなかったのです。

では、特定の条件のデータを処理するにはどうすればいいのでしょうか。

 

条件指定には、以下のようにWHERE文を使います。

WHEREで条件指定

WHEREと書いた後に、具体的な条件を指定できます。

ここの条件指定は柔軟に行えます。例にあるように、=を用いることで、特定のレコードを取り出すこともできるし、ANDやORで条件を繋げることで、複数条件の指定も可能です。

取り出したいデータに合わせて、柔軟に条件を指定するようにしましょう。

 

WHERE以外にも、取り出すデータの条件を指定する方法はあります。

例えば、取り出すデータの順序の指定です。

下記のように、ORDER BYを記述することで、昇順(ASC)、もしくは降順(DESC)でデータを取得することが可能となります。

ORDER BYで並び替え

ちなみに、デフォルトの場合は昇順(ASC)が適用されるので、わざわざASCを記述する必要はありません。データを降順に並べたいときだけ、「DESC」を指定するようにしましょう。

グルーピングについて

最後に紹介するのは、グルーピングと呼ばれる手法です。この方法を使うことで、「グループ別」にデータを取得することが可能となります。

例えば、カラム(年齢)を指定した場合、年齢のグループごとにデータ(レコード)を取得できるということです。

この手法は、例えば、「年齢ごとにデータを取得して傾向を比較する」などの作業で威力を発揮します。とても便利な方法なので、覚えておくようにしましょう。

 

難しそうですが、書き方はいたってシンプルです。例えば、以下のように記述します。

GROUP BYでグループ分け

このように「GROUP BY」を書くことで、age(年齢)ごとにレコードの値をグループ分けし、COUNT関数を使ってそれぞれのグループの数を数えることで、「どの年齢に何人いるか」のデータを取得することができます。

SQLには、COUNTのように、データを集計する際に使える、様々な関数(集合関数と言います)が用意されています。他にも多くの種類があるので、興味のある方は調べてみて下さい

 

ここまで、「基礎的なSQLの書き方」について説明してきました。

これだけ抑えておけば、「SQLの基礎の基礎の基礎」についてはマスターしたと言っていいでしょう。

 

SQL基礎の基礎の基礎まとめ

今回は、SQLについて、基礎的な部分を解説してきました。最後にポイントをざっくりとまとめます。

  • SQLは、データベースを操作するための言語
  • データベースはデータを入れるための箱的なもの(リレーショナル型データベースが主流)
  • SQLで様々なキーワードを記述することで、「テーブルの作成」「データの挿入」「データの取得」等のデータベース操作が可能となる

 

今回紹介したものは、あくまでSQLの本当に初歩的な部分です。

 

これだけでは実務用の学習としては全然足りないので、興味のある部分を自分で勉強してみて下さい。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA