現代のデジタル社会において、データベースは私たちの生活に欠かせない存在となっており、スマートフォンでSNSを開く、オンラインショッピングで商品を探す、私たちは知らず知らずの内にデータベースと対話しています。
そんなデータベースと対話するための言語がSQL(Structured Query Language)という言語です。
本記事はこのSQLの概要とSQLを使った代表的なデータベース管理システムを簡単に5つ紹介していきます。

お猿SEの場合、
id:0010
name:お猿SE
sex:男性
like:バナナ
color:brown
みたいな情報がデータベースに格納されているんだ!
SQLとは
SQLは、データベース言語の中で最も普及している言語の1つです。
RDBMS(データベース管理システム)上でデータやデータベースを制御するための言語で、ユーザやシステムからの命令を受けてRDB(リレーショナルデータベース)にクエリ(問い合わせ)を行い、結果を返します。
SQLは主に4つの操作言語に分類ができます。
データ定義言語(DDL:Data Definition Language)
DDLはデータベースの構造を定義するための言語です。
主な命令には、
- CREATE:データベースやテーブルを新規作成
- ALTER:テーブル構造の変更
- DROP:データベースやテーブルの削除
- TRUNCATE:テーブルのデータを全削除
- RENAME:データベースやテーブルの名前変更
などがあり、全てのデータはこれらの操作によって作成されたテーブルというものに格納されていきます。
なので、すべてはここから始まります。
データ操作言語(DML:Data Manipulation Language)
DMLは実際のデータを操作するための言語で、最もよく使われる命令群です。
主な命令は、
- SELECT:データの検索・抽出
- INSERT:データの挿入
- UPDATE:データの更新
- DELETE:データの削除
などがあります。
データ制御言語(DCL:Data Control Language)
DCLはデータベースへのアクセス権限を制御する言語です。最初に権限付与することが多く、そこまで頻繁には使用しません。
主な命令は、
- GRANT:ユーザーに権限を付与
- REVOKE:付与した権限の取り消し
などです。
トランザクション制御言語(TCL: Transaction Control Language)
TCLはデータの整合性を保つための言語で、
- COMMIT:トランザクションの確定
- ROLLBACK:トランザクションの取り消し
- SAVEPOINT:トランザクションの中間地点を設定
などがあります。
この操作言語を扱う際に絶対に知っておくべきなのが、
「トランザクション」
という概念です。
トランザクションについてはこちら。
SQLを用いた代表的なデータベース管理システム(DBMS)
SQLの実装にはいくつか方法があり、それぞれが特定の目的や機能を持ちます。以下に主なSQLを用いたデータベースの種類と概要をまとめます。
MySQL
オープンソースで最も人気のあるDBMSです。MySQLは以下のような特徴を持ちます。

Oracle Databese
企業向けの大規模システムで信頼性が高いDBMSの一つです。因みにお猿SEが勤務する会社もこちらを使っています。以下のような特徴を持っています。

PostgreSQL
PostgreSQLは高機能なオープンソースDBMSとして知られており、以下のような特徴を持つデータベースです。

SQLite
SQLiteは組み込みデータベースとして人気があり、以下のような特徴を持っています。

Microsoft SQL Server
Microsoft SQL ServerはWindowsプラットフォームと親和性の高いDBMSで、以下のような特徴を持つデータベースです。

SQLの学習をするには
多くのエンジニアがSQLを学ぶ際によく使うリソースを以下に示します。
![]() | スッキリわかるSQL入門 第4版 ドリル256問付き! (スッキリわかる入門シリーズ) [ 中山 清喬 ] 価格:3080円 |

![]() | SQL実践入門──高速でわかりやすいクエリの書き方 (WEB DB PRESS plus) [ ミック ] 価格:2838円 |

SQLのまとめ
SQLはRDBMS(リレーショナルデータベース管理システム)を操作するために強力なツールであり、様々な種類があります。どれがいいというわけではなく、どれも一長一短であり、用途に合わせた使い分けができるようになることが重要です。
上記のようなのデータベースの理解と使用方法を学ぶことは、データ管理と分析のスキルを向上させるために非常に重要です。学習にはいくつかの案がありましたが、私自身自の手を動かして確認していく方法が一番頭に残りました。(どんな学習でもそうですね。)
DBMSを発展させたRDBMSについての記事はこちら。