SQL基本の理解(言葉の整理編)
【目次】
SQLとは
DBMS(データベース管理システム)上でデータやデータベースを操作・制御するためのもので、ユーザーからの命令でRDB(リレーショナルデータベース)にクエリをし、その結果を返す。
「SQL」はStructured Query Languageの略であり、語源のクエリ言語(Query Language)=問い合わせ言語は、データに対して問い合わせするためのコンピューター言語である。その中でもデータベースを扱うものを「データベース言語」と言い、SQLもその一つである。
データベース言語とコンピューター言語
データベース
そもそもデータベースとは、集めたデータをDBMSで整理し、操作できるようにしたもののことで、その中でも多く使われているRDBはテーブルでデータ同士の関係を表現している。
データベース言語
DBMSに処理を命令する言語であり、データの管理やデータを見つけ出すことのみが役割であるため、開発はできない非手続き型言語である。
コンピュータ言語
プログラム本体を作る時に使用する言語であり、処理の手続きを記載し、どう処理するかをコンピュータに指示する役割を持つ。
SQLを構成する3種の言語
1. データ定義言語(DDL)
DBMSで扱うオブジェクト(テーブルなど)の構造や、オブジェクト同士の関係を定義する。
【DDLの命令文】
- CREATE:オブジェクト(データベースやテーブルなど)を定義
- DROP:オブジェクトを削除
- ALTER:オブジェクトの内容変更
- TRUNCATE:データを全削除
2. データ操作言語(DML)
目的語や条件(を示すキーワード)と組み合わせて、データベースを操作する。
【DMLの命令文】
- SELECT:データベース検索(テーブルから行を検索)
- INSERT:データ挿入(テーブルに行追加)
- JOIN:テーブルを結合
- DELETE:データ削除(テーブルから行削除)
- UPDATE:データ更新(テーブルの行更新)
3. データ制御言語(DCL)
データへのアクセスを制御する。 トランザクションやシステムを管理したり、ユーザーのアクセス権を制御したりする。
【DCLの命令文】
- GRANT:ユーザー権限を付与
- REVOKE:ユーザー権限を削除
- BEGIN:トランザクション開始
- COMMIT:トランザクション確定(データベースに対する変更を確定)
- ROLLBACK:トランザクション取消(データベースに対する変更を取消)
トランザクション
アプリケーションにとって意味のある処理の単位のことで、複数の処理のまとまりを指す。これらの処理同士の分離は不可能であり、処理結果は成功か失敗のどちらかである。