SQLとは、データベースを扱う上で欠かせない言語です。データベースはこのSQL言語によって内部の情報が整理され、必要なときに必要なものを引き出すことができます。span>
しかし具体的に扱ったことがない場合は、SQLと言われてもなかなかイメージできません。これからSQLを習得しようという方の中には、データベースの仕組み自体がわからない方も多いと思います。
ここではそんなデータベース初心者の方のために、意外と理解しにくいSQLについて、基礎・種類・特徴をわかりやすく解説します。
SQLとは?
SQLとは、データベースを操作する言語のことです。読み方は「エスキューエル」か「シークェル」といいます。
そもそもデータベースとは、たくさんの情報を入れた箱のようなもので、そこから情報を引き出したり整理して見やすくするためにSQL言語を使用します。
わかりやすく言うと、日本人は日本語、アメリカ人は英語というように、データベースはSQL語と覚えておくといいでしょう。
SQL言語を使って、クエリという命令文をコマンドで実行することでデータベースに指示を出すことができます。これによりデータを引き出したり更新したり削除したりするのです。
SQLの種類
SQLはデータベースに対してさまざまな指示を出すことができますが、主に3つの言語に分けられます。
- DDL(データ定義言語)
- DML(データ操作言語)
- DCL(データ制御言語)
一つずつ役割をみていきましょう。
DDL(データ定義言語)
DDLとは、データベース内のテーブルを作成する言語です。テーブルとは、情報を整理する表のことをいいます。この表に大量のデータを入れていくようになるので、まずはテーブルを作成することが最初です。
そのテーブルの定義を変更したり結合・削除したりできる言語がDDLとなります。
具体的なDDLのSQL言語に対する意味はこちらです。
SQL言語 | 意味 |
CREATE | データテーブルを作成 |
ALTER | データテーブルの定義変更 |
JOIN | データテーブルの結合 |
DROP | データテーブルの削除 |
データを整理するときは、SQL言語のCREATEを使ってテーブルを作成するところから始まります。
DML(データ操作言語)
DMLはテーブル内にデータを追加・更新・削除したりなどデータ自体に働きかける言語です。作成されたテーブルで実際に大量のデータを整理する際に使用します。
具体的なDMLのSQL語に対する意味はこちらです。
SQL言語 | 意味 |
INSERT | データテーブルにデータを新規追加 |
SELECT | データテーブル内のデータを検索 |
UPDATE | データテーブル内のデータを更新 |
DELETE | データテーブル内のデータを削除 |
このようにDDLでテーブルを作成したら、DMLで知りたい情報を操作する流れになります。
DCL(データ制御言語)
DCLとは、作成されたデータベースへのアクセス制御を行うための言語です。誰に、どのようなテーブルの操作を許可するか、その権限を与えたり解除したりすることができます。
具体的なDCLのSQL語に対する意味はこちらです。
SQL言語 | 意味 |
GRANT | 特定の利用者にアクセス権限を与える |
REVOKE | 特定の利用者のアクセス権限を解除 |
>この3つの種類を覚えれば、SQLを使いこなすことができるようになります。
SQLの特徴|何ができる?
SQLの特徴には以下のようなものがあります。
- データベース専用の言語
- できることは命令を送るのみ
- アプリを作成する際は他言語と組み合わせる
SQLはデータベース専用の言語で、それ以上の機能はありません。ユーザーやシステムに命令を送り、返ってきたデータをユーザーやシステムに返します。とてもシンプルで、他のプログラミング言語などとは仕様が異なります。
もしプログラミングでデータベースにアクセスするときは、SQLを間に挟んで指示を出します。このように、データベースに関わる際はSQL言語が必要となるのです。
SQLでデータベースに命令を送る際には、【対話型】と【埋め込み型】の2種類を使用します。
対話型は、プログラムのコマンドラインにSQLコマンドを入力し、処理の結果を見て次の命令を出します。会話のキャッチボールのようなイメージです。
埋め込み型は、他のプログラミング言語のソースコードにSQL文を埋め込んで操作する方法です。これによりシステムの一部としてSQL文を使用します。
SQLが使える主なデータベースについて
SQLはRDBという種類のデータベースで使うことができます。データベースにはその構造の違いなどから様々な種類がありますが、RDBは表形式を使ってデータを整理するものです。今やデータベースの中でもトップシェアを誇っています。
SQLが使えるRDBという種類のデータベースには以下のようなものがあります。
- Oracle Database(オラクル)
- Microsoft SQL Server(マイクロソフト)
- Access(マイクロソフト)
- MySQL(オープンソース)
- PostgreSQL(オープンソース)
SQLは国際標準化されているため、上記のデータベースであればどれも同じように使うことができます。
SQLを習得する意義
インターネットの普及により膨大な量の情報が行き交う現代で、情報を整理し、必要なときに引き出せるデータベースは必要不可欠です。
データベースを管理する責任者であれば、SQL言語の習得は必須となります。
国際標準化されたSQLは、一度習得すればRDBのソフト間で変わらずに使用できる便利な言語です。
キャリアアップや仕事の幅を広げるために習得する意義は大いにあるでしょう。