「SQLって何?」「データベースを操作するってどういうこと?」
プログラミングを学んでいると必ず出てくるSQL(エスキューエル)。Webアプリケーション開発には欠かせない技術ですが、最初は何のことかわかりにくいですよね。
この記事では、SQLとは何か、どんなことができるのか、初心者の方にもわかりやすく解説します。
SQLとは?
SQL(Structured Query Language)は、データベースを操作するための言語です。日本語では「構造化問合せ言語」と訳されます。
1970年代にIBMで開発され、現在ではISO(国際標準化機構)で規格が統一されています。そのため、世界中のほぼすべてのリレーショナルデータベースで使えるという大きな特徴があります。
SQLはプログラミング言語とは違う
SQLは「言語」と呼ばれますが、PythonやJavaなどのプログラミング言語とは性質が異なります。
- プログラミング言語:複雑な処理の流れを記述できる
- SQL:データベースへの「命令」に特化したシンプルな言語
SQLは「このデータを取ってきて」「このデータを追加して」といった、データベースに対する命令を出すことだけに特化しています。
データベースの基本用語
SQLを理解するには、まずデータベースの基本用語を押さえておきましょう。
テーブル
データを格納する「表」のことです。Excelのシートをイメージするとわかりやすいでしょう。1つのデータベースには複数のテーブルを作成できます。
カラム(列)
テーブルの「縦の列」のことです。「名前」「年齢」「住所」など、データの項目を表します。
レコード(行)
テーブルの「横の行」のことです。1件分のデータを表します。
具体例で見てみよう
「社員」テーブルの例を見てみましょう。
| id | name | age | department |
|---|---|---|---|
| 1 | 田中太郎 | 28 | 営業部 |
| 2 | 鈴木花子 | 32 | 開発部 |
| 3 | 佐藤次郎 | 25 | 営業部 |
この例では、id・name・age・departmentがカラム、各社員の情報(横1行)がレコードです。
SQLの4大コマンド
SQLには多くのコマンドがありますが、まずは基本となる4つのコマンドを覚えましょう。
1. SELECT(検索・取得)
データを検索して取得するコマンドです。最も使用頻度が高いコマンドです。
-- 全データを取得
SELECT * FROM employees;
-- 特定のカラムだけ取得
SELECT name, age FROM employees;
-- 条件を指定して取得
SELECT * FROM employees WHERE department = '営業部';
2. INSERT(追加)
新しいデータを追加するコマンドです。
-- 新しい社員を追加
INSERT INTO employees (name, age, department)
VALUES ('山田一郎', 30, '総務部');
3. UPDATE(更新)
既存のデータを更新するコマンドです。
-- 特定の社員の部署を変更
UPDATE employees
SET department = '開発部'
WHERE name = '田中太郎';
4. DELETE(削除)
データを削除するコマンドです。
-- 特定の社員を削除
DELETE FROM employees WHERE id = 3;
この4つのコマンド(SELECT・INSERT・UPDATE・DELETE)は、頭文字を取って「CRUD(クラッド)」と呼ばれることもあります。
代表的なデータベース製品
SQLを使えるデータベース製品はいくつかあります。基本的なSQLの書き方は共通ですが、細かい部分で違いがあります。
MySQL(マイエスキューエル)
世界で最も広く使われているオープンソースのデータベースです。WordPressをはじめ、多くのWebサービスで採用されています。初心者が最初に学ぶデータベースとしておすすめです。
PostgreSQL(ポストグレスキューエル)
高機能なオープンソースのデータベースです。MySQLより複雑な処理が得意で、大規模なシステムでも使われています。
SQLite(エスキューライト)
軽量でシンプルなデータベースです。ファイル1つでデータベースを管理できるため、小規模なアプリやモバイルアプリで使われます。
Oracle Database / SQL Server
企業向けの商用データベースです。大規模なシステムや、高い信頼性が求められる金融システムなどで使われています。
SQLを学ぶメリット
SQLを学ぶことで、エンジニアとしてどんなメリットがあるのでしょうか。
1. ほぼすべてのシステムで使える
Webアプリケーション、業務システム、スマホアプリなど、ほとんどのシステムでデータベースが使われています。SQLはIT業界の共通言語と言っても過言ではありません。
2. 一度覚えれば長く使える
SQLは1970年代から使われている技術で、基本的な書き方は変わっていません。一度覚えれば、長いキャリアを通じて役立つスキルです。
3. 非エンジニアにも求められている
近年はビッグデータの活用が進み、マーケターやデータアナリストなど、非エンジニアでもSQLスキルが求められるようになっています。
4. 学習コストが比較的低い
プログラミング言語と比べると、SQLはシンプルな構文で覚えやすいのが特徴です。基本的なコマンドなら、数週間〜1ヶ月程度で習得できます。
SQLの学習方法
SQLを学ぶ方法はいくつかあります。
オンライン学習サービス
ProgateやPaiza、ドットインストールなど、ブラウザ上でSQLを学べるサービスがあります。環境構築なしで始められるので、初心者におすすめです。
書籍で学ぶ
「いちばんやさしいSQL入門教室」「スッキリわかるSQL入門」など、初心者向けの書籍が多数出版されています。
実際にデータベースを触る
MySQLやPostgreSQLをローカル環境にインストールして、実際にSQLを実行してみるのが最も効果的です。
まとめ
この記事で解説した内容をまとめます。
| 項目 | 内容 |
|---|---|
| SQLとは | データベースを操作するための言語 |
| 読み方 | エスキューエル(シークェルとも) |
| 特徴 | ISO標準化されており、ほぼすべてのDBで使える |
| 4大コマンド | SELECT(検索)、INSERT(追加)、UPDATE(更新)、DELETE(削除) |
| 代表的なDB | MySQL、PostgreSQL、SQLite、Oracle、SQL Server |
| 学習期間の目安 | 基本は数週間〜1ヶ月程度 |
SQLは、エンジニアにとって必須のスキルです。Webアプリケーション開発はもちろん、データ分析や業務システムなど、あらゆる場面で活用されています。
基本的なコマンドはシンプルなので、まずはSELECT文からチャレンジしてみてはいかがでしょうか。実際に手を動かすことで、理解が深まりますよ。