SQLとは
SQLとは、 Structured Query Language の略で、リレーショナルデータベースに対して問い合わせを行うことができる 問い合わせ言語 のことをいいます。
SQLでは、リレーショナルデータベースを操作する上で3つの言語があります。

データ定義言語
データ制御言語
データ操作言語

の3つです。

プログラマがよく使用するのはデータ操作言語(data manipulation language)だと思います。
データベース管理者などになると、データ定義言語(data definition language)やデータ制御言語(data control language)を使用します。

プログラマが頻繁に使用するデータ操作言語とは主にselect文、update文、insert文、delete文のことを指します。
select文は、表(テーブル)からデータの取得を行います。
update文は、表の行に対して更新を行います。
insert文は、表に対して新規行を追加します。
delete文は、表の行を削除します。

これではよく意味がわかりませんので、具体的に説明をします。
まずテーブルとは、Excelのsheetのような2次元の表のことを指しています。
もちろん表は、行と列から構成されます。
この列に任意の意味を持たせて 表(テーブル) というものを作成します。
表に定義されている列名や列のデータ型などを総称して スキーマ とよんだりします。
要するに表にはスキーマと言う定義が存在するのです。

では下図を見てください。
下の表は3人のテストの成績を表にしたものです。表の名前はtestとします。
この表からyamadaの英語の点数を取得したい場合、select文を使用します。

SQL
SQL

SQL文は

select 英語
from   test
where  氏名 = 'yamada';
となります。細かい文法は後で説明しますが、このselect文を実行するとtestと言う表から、yamadaの英語の成績だけを取得することが出来ます。
select文の結果は以下のようになります。

英語
----
  30
これがselect文によるデータの取得です。

次にupdate文について説明します。さきほどのtestと言う表で、実はyamadaの英語の点数が40点の間違いだったとします。
こういう場合、点数を訂正(更新)しなければいけません。このような更新を行う場合にupdate文を使用します。
yamadaの英語の点数を40点に訂正するには

update test
set 英語 = 40
where  氏名 = 'yamada';
とします。ここでも細かい文法は割愛しますが、これでyamadaの英語の点数を40に更新することができます。

次にinsert文について説明します。insert文は新たに行を追加する操作です。
今回あたらしくtanakaがテストをし、その結果を表に登録したいとします。
この場合は
insert into test
(氏名,英語,理科,社会)
values
('tanaka',10,20,5);
というようなinsert文を実行することにより表に1行追加されます。

insertとは逆に表からデータを削除したいと言う場合はdelete文を使用します。
tanakaはどこか遠いところへ行ってしまったとします。もうテーブルに登録しておく必要がなくなったので削除します。

delete from test
where  氏名 = 'tanaka'
このdelete文でtanakaの情報を削除することが出来ます。

このように、表に対して追加、更新、削除、データ取得を行うのが データ操作言語 です。
データ定義言語、データ制御言語は難しいのでここでは割愛します。そういう言語があるとだけ覚えておいてください。

Back to top

Information