【SQL第1回】データベースとSQLの基本
現代のWebシステムやアプリ開発に必須のスキルである「データベース」と「SQL(エスキューエル)」の学習を始めましょう。その基本概念と役割、最初のデータ取得クエリを学びます。
1. データベースとRDBMSの仕組み
データベース(Database = DB)とは、大量のデータを整理・統合し、コンピュータから高速に検索や書き換えができるように保管したデータの集まりのことです。
その中でも、データをExcelのような「縦列(カラム)」と「横行(レコード)」からなる「テーブル(表)」の形式で整理し、複数の表同士を関連付ける仕組みを**「関係データベース(RDB: Relational Database)」**と呼び、これを制御するシステムを**RDBMS(関係データベース管理システム)**と呼びます。MySQLやPostgreSQL、SQLiteなどが有名です。
2. データベースと対話する言語「SQL」
SQL(Structured Query Language = エスキューエル)は、RDBMSに対して「データを登録して」「指定したデータを探して」といった指示を与えるための専用の言語です。
PythonやJavaScriptのような一般的なプログラミング言語とは異なり、「データの抽出・操作」に特化して設計されているため、構文が非常に英語に近く、直感的に理解しやすいのが特徴です。
3. 最初のSQL:テーブルから全データを取得する
データベースに送る指示文のことを**「クエリ(Query)」**と呼びます。
最も基本的でよく使うクエリは、テーブルからデータを取り出すための `SELECT` 文です。
SELECT * FROM users;
📌 アスタリスク(*)の意味とセミコロン
・`SELECT` は「データを取得する」、`FROM` は「どのテーブルから取得するか」を指定します。
・間に置かれた `*(アスタリスク)` は、**「すべてのカラム(列)を選択する」**という意味を持つワイルドカードです。
・クエリの文末には、命令の終わりを示すために `;(セミコロン)` を打つのがルールです。
4. SQLの記述ルールとキーワード
SQLはアルファベットの大文字と小文字を区別しません。`select * from users;` と書いても動作します。
しかし、実務ではコードの読みやすさを維持するために、SQLの命令キーワード(`SELECT`, `FROM` など)は **大文字** で書き、テーブル名やカラム名(`users` など)は **小文字** で記述するという紳士協定ルールが広く採用されています。
SQL文において、「すべてのカラム(列)」をまとめて指定したい場合にSELECTの直後に用いるワイルドカード記号(半角記号1文字)は何でしょうか?
※この問題の解答と解説は、ページ最下部(まとめの前)に掲載しています。
5. まとめと次回予告
第1回の講義はお疲れ様でした!今回の重要ポイントを振り返りましょう。
- 関係データベース(RDB)はデータを表の形式で整理して格納する。
- SQLはRDBMS(管理システム)へ指示を与える専用のクエリ言語である。
- `SELECT * FROM テーブル名;` で指定テーブルの全データを抽出できる。
次回(第2回)は、必要なカラム(列)だけを狙って取得する方法や、結果に別名を割り当てる「SELECTとFROMによる特定データの抽出、ASエイリアス」について学びます。お楽しみに!
📖 SQLの基礎を全10回でマスターする
🔑 第1回 理解度チェックの解答と解説
【解説】
正解は **`*`** (アスタリスク)です。 `SELECT * FROM users;` と記述することで、`users` テーブルに登録されている ID、名前、メールアドレスなどのすべてのカラムを一度に取り出します。特定のカラムに限定したい時は、`*` の部分にカラム名をカンマ区切りで記述します。