Chiroru's Diary

日々の学びをちょこちょこメモしていきます

SQL基本の理解(言葉の整理編)

【目次】

SQLとは

DBMS(データベース管理システム)上でデータやデータベースを操作・制御するためのもので、ユーザーからの命令でRDB(リレーショナルデータベース)にクエリをし、その結果を返す。
SQL」はStructured Query Languageの略であり、語源のクエリ言語(Query Language)=問い合わせ言語は、データに対して問い合わせするためのコンピューター言語である。その中でもデータベースを扱うものを「データベース言語」と言い、SQLもその一つである。

データベース言語とコンピューター言語

データベース

そもそもデータベースとは、集めたデータをDBMSで整理し、操作できるようにしたもののことで、その中でも多く使われているRDBはテーブルでデータ同士の関係を表現している。

データベース言語

DBMSに処理を命令する言語であり、データの管理やデータを見つけ出すことのみが役割であるため、開発はできない非手続き型言語である。

コンピュータ言語

プログラム本体を作る時に使用する言語であり、処理の手続きを記載し、どう処理するかをコンピュータに指示する役割を持つ。

SQLを構成する3種の言語

  1. データ定義言語(DDL)
  2. データ操作言語(DML)
  3. データ制御言語(DCL)

1. データ定義言語(DDL)

DBMSで扱うオブジェクト(テーブルなど)の構造や、オブジェクト同士の関係を定義する。

DDLの命令文】

  • CREATE:オブジェクト(データベースやテーブルなど)を定義
  • DROP:オブジェクトを削除
  • ALTER:オブジェクトの内容変更
  • TRUNCATE:データを全削除

2. データ操作言語(DML)

目的語や条件(を示すキーワード)と組み合わせて、データベースを操作する。

DMLの命令文】

  • SELECT:データベース検索(テーブルから行を検索)
  • INSERT:データ挿入(テーブルに行追加)
  • JOIN:テーブルを結合
  • DELETE:データ削除(テーブルから行削除)
  • UPDATE:データ更新(テーブルの行更新)

3. データ制御言語(DCL)

データへのアクセスを制御する。 トランザクションやシステムを管理したり、ユーザーのアクセス権を制御したりする。

【DCLの命令文】

トランザクション

アプリケーションにとって意味のある処理の単位のことで、複数の処理のまとまりを指す。これらの処理同士の分離は不可能であり、処理結果は成功か失敗のどちらかである。

参考