SQLってなに?
なんのためにあるの?
わかりやすく教えて!
こういった疑問にこたえます。
エンジニアの僕がわかりやすく解説します!
SQLとは?
SQL(Structured Query Language)とはリレーショナルデータベースを操作するための言語です。
RDBMSの一般的なシステム構成は次のようになっています。
RDBMSはサーバの一種でコンピュータ上で動作し続けており、要求が届くのを待ちます。
要求が届いたら、ハードディスクなどに保存しているデータベースからデータを取り出して返したり、指示された内容でデータを書き換えたりします。
一方、サーバに要求を出すプログラムやコンピュータをクライアントと呼びます。
クライアントはサーバであるRDBMSにどんなデータを送って欲しいか、どこのデータを書き換えて欲しいかをSQL文を送信します。
RDBMSはSQL文の内容に従って、データベースを操作します。
SQLにはISO(国際標準化機構)で定められた標準規格があり、それに準拠したSQLを標準SQLと言います。
以前は、標準SQLに完全に準拠したRDBMSは少なかったのですが、最近は標準SQLのサポートが進んでいるので、異なるRDBMSでも同じように書けばデータを操作することが可能になってきました。
なのでSQLの学習をする方は標準SQLでの書き方を覚えるようにしましょう。
SQLの種類
SQL文はRDBMSに与える命令の種類により、次の3つに分類されます。
DDL(Data Definition Language)
DDL(データ定義言語)は、データを格納する入れ物であるデータベースやテーブルなどを作成したり、削除したりします。
DDLに分類される命令は次の通りです。
- CREATE
データベースやテーブルを作成する - DROP
データベースやテーブルを削除する - ALTER
データベースやテーブルなどの構成を変更する
DML(Data Manipulation Language)
DML(データ操作言語)は、テーブルの行を検索したり更新などを行います。
DMLに分類される命令は次の通りです。
- SELECT
テーブルから行を検索する - INSERT
テーブルに新規行を登録する - UPDATE
テーブルの行を更新する - DELETE
テーブルの行を削除する
DCL
DCL(データ制御言語)はデータベースに対して行った変更を確定したり取り消したりします。
また、RDBMSのユーザがデータベースにあるものを操作するための権限の設定もおこないます。
DCLに分類される命令は次の通りです。
- COMMIT
データベースに対しておこなった変更を確定する - ROLLBACK
データベースに対しておこなった変更を取り消す - GRANT
ユーザに操作の権限を与える - REVOKE
ユーザから操作の権限を奪う
SQLとは?まとめ
解説の内容をまとめます。
- SQLはリレーショナルデータベースを操作するための言語
- RDBMSはSQL文の内容に従ってデータベースを操作する
- SQL文はDDL、DML、DCLの3つに分類される
以上、お疲れ様でした。
コメント