1.3 SQL

 本節では、データベースを操作するための言語であるSQLの概念や種類、基本的な文法について学習します。

1.3.1 SQLとは

 SQL(Structured Query Language)とは、リレーショナルデータベースを操作するための言語の1つです。
 IBM社が開発した言語で、ANSI(アメリカ規格協会)やISO(国際標準化機構)によって標準として規格化されています。

1.3.2 SQL文の種類

 SQLは大きく分けてデータ定義言語(DDL:Data Definition Language)、データ操作言語(DML:Data Manipulation Language)、データ制御言語(DCL:Data Control Language)の3種類から構成されます。

 ・ データ定義言語(DDL)
   データベースにおけるデータ構造を定義するために用いられる言語のことです。
   「CREATE TABLE」文や「DROP TABLE」文などのSQL文がこれにあたります。

 ・ データ操作言語(DML)
   データベースにおいてデータの検索・新規登録・更新・削除を行うための言語のことです。
   「INSERT」文や「SELECT」文などのSQL文がこれにあたります。

 ・ データ制御言語(DCL)
   データベースにおいてデータに対するアクセス制御を行うための言語のことです。
   ユーザー情報を作成する際に用いる「GRANT」文がこれにあたります。

 ここで紹介したSQL文については後の章で学習しますので、今はまだ覚える必要はありません。
 なお、SQLでは、データ制御言語(DCL文)がもっとも頻繁に使用されます。

1.3.3 SQLの基本構文

 SQLの軸となるのが「キーワード」です。キーワードとは、SQLにあらかじめ用意された命令のための語句です。このキーワードに、テーブルの名前や列の名前といったデータなどを組み合わせたものを単位として、それらを複数組み合わせることでSQL文が完成します。キーワードと列名等の組み合わせを「句」と呼びます。
 本項で例として用いられている「SELECT」キーワードや「FROM」キーワードの内容については3章で詳しく解説します。

図 1.3.1 SQL文の基本構文例

① 語句の間は半角スペースで区切ります。
 半角スペースはいくつ入れても文法上問題ありません。また、半角スペースの代わりにTabを使うこともできます。しかし、半角スペースを1文字入れるのが一般的です。
 なお、全角スペースを入れると文法上エラーとなりますので注意して下さい。

② SQL文の終端文字として「;」(セミコロン)を付けます。
 SQL文は途中で改行しても、「;」が登場するまでは続きがあると見なされます。そのため、以下のようにSQL文の途中で、複数行に改行して記述することも可能です。

 なお、改行して記述する場合、区切り文字は記述不要になりますが、記述してもエラーにはなりません。
 そのため、インデントを設定することができます。

③ 文字列は「’」(シングルクォーテーション)で囲みます。
 SQLでは文字列は「’」(シングルクォーテーション)で囲むことになっています。

 また、指定したい文字列に「’」が含まれている場合、「’」を重ねるという決まりがあります。
 例えば「Let’s」という文字列を指定したい場合は、以下のように記述指定します。

④ 大文字と小文字は区別されません。
 SQLの構文では大文字、小文字の区別はされませんので全て大文字、全て小文字、もしくは大文字と小文字が混在していても、文法上は同一と見なされます。ただし、データ自体の指定は大文字、小文字が区別されるため注意が必要です。