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