SQLとは?入門者向けに基礎を解説!

sqlとは?

SQLはデータベース言語のことで、アプリ開発者は習得必須で、開発者以外の方もデータを集計する機会があれば、習得するメリットは大きいです。本記事では、「SQLって何?」「SQLで何ができるの?」という疑問に向けて解説していきます。

SQLとは?

SQL(エスキューエル or シークェル)はデータベースの操作や定義を行なうためのデータベース言語です。

SQLを用いることで、データベースに保管されている大量のデータから特定のデータを取得したり、追加・更新・削除といった処理を効率的に行うことができます。

データベースとは?

SQLを理解するためには、データベースの構造についても理解する必要があります。

データベースとは、簡単に言うと「データを整理して保管しておく箱みたいなもの」とイメージしておくといいです。

データベースの中には、さらに複数の「テーブル」を作成することができます。テーブルはExcelの表のように行と列で構成されています。

テーブルの構造

テーブルの構造は表のようになっていますが、縦の列を「カラム」、横の行を「レコード」と呼びます。

SQLでできること

SQLを用いるとデータベースに関することは何でもできてしまいますが、具体的には以下の操作ができます。

  • データベースの作成、編集、削除
  • テーブルの作成、編集、削除
  • データの検索、集計、更新、追加、削除
  • ユーザ権限の付与

データベースの種類

データベースの種類はたくさんありますが、DB-Engines Rankingによると2020年9月時点でシェア率TOP10は以下のようになっており、「Oracle」、「MySQL」、「Microsft SQL Server」の3つが圧倒的なシェア率ですね。

  • Oracle
  • MySQL
  • Microsoft SQL Server
  • PostgreSQL
  • MongoDB
  • IBM Db2
  • Redis
  • Elasticsearch
  • SQLite
  • Cassandra

SQL文法の種類

SQLの文法は以下の3つの種類がります。

  • データ定義言語(Data Definition Language)
  • データ操作言語(Data Manipulation Language)
  • データ制御言語(Data Control Language)

データ定義言語(DDL)

データ定義言語(DDL)はデータベースのテーブルの定義に関する命令のことで、主に以下の3種類があります。

  • CREATE:作成
  • DROP:削除
  • ALTER:変更

例えば、テーブルを作成する場合は以下のようなコードを書きます。

create table テーブル名 (
  カラム名 データ型,
  カラム名 データ型,
);

データ操作言語(DML)

データ操作言語(DML)は、データの取得、登録、更新、削除などデータ操作に関する命令のことで、主に以下の種類がります。

  • INSERT:データの挿入
  • UPDATE:データの更新
  • DELETE:データの削除
  • SELECT:データの取得

例えば、データを挿入する場合は以下のようなコードを書きます。

insert into テーブル名 values('値1', '値2');

データ制御言語(DCL)

データ制御言語(DCL)は、データに対するアクセス制御に関する命令のことで、主に以下の種類があります。

  • GRANT:権限を与える
  • REVOKE:権限を剥奪する

例えば、指定したユーザーに対して、指定したデータベースに対する全ての権限を与えるコードは以下のように書きます。

grant all on データベース名.* to 'ユーザー名'@'localhost' identified by 'password';

まとめ

SQLはデータベース操作する場合に欠かせないものなので、何かしら関わっている方は概要だけでも学んでみては如何でしょうか。

また、SQLはプログミングの初歩的な理解があった方がとっつきやすくなるので、プログラミング言語に一度触れてみてから学ぶといいかもしれません。