目次
この記事が解決できること
- SQLの種類やできることを把握できる
- SQLの文法を理解できる
はじめに
皆さんは、「SQL(Structured Query Language)」をご存知ですか?
近年、クラウドデータベースが普及したことなどがきっかけで、独自のデータベースを運用・構築する企業や個人事業主が増えています。SQLは、そんなデータベースの運用・構築に役立つ言語です。
本記事では、SQLの種類やできること、基本構文などについて解説します。最後まで読んでいただくと、データベースについて詳しくない方でもSQLに関する理解が深まります。
SQLとは
SQLとは、リレーショナルモデルに基づいてデータを格納している「RDS(リレーショナルデータベース)」を管理・操作するために利用されるデータベース言語です。RDBについて知りたい方は、こちらの記事をご覧ください。
アメリカのIT企業である「IBM(International Business Machines Corporation)」がRDBを管理するソフトウェアである「RDBS(リレーショナルデータベースシステム)」のひとつ「System R」を開発する際、System Rを制御・操作するために考案されたデータベース言語「SEQUEL」が起源とされています。
SQLの種類
コンピューターやソフトウェアなどで実行すべき処理を指示するために利用される文字列を「コマンド」といいます。データベースを管理・操作するためには、SQLを用いてコマンドを作成・実行しなければなりません。
SQLは、コマンドの役割によって以下の4種類に分類されます。それぞれの特徴を理解し、適切なコマンドを実行できるようになりましょう。SQLの活用事例を知りたい方は、こちらの記事をご覧ください。
1.DDL
DDL(データ定義言語:Data Definition Language)とは、データベースの構造や構成を定義する言語です。
テーブルやユーザー、インデックスなどさまざまなデータベースオブジェクトを作成・変更するために利用されます。一例として、「CREATE」や「DROP」などがあります。
2.DML
DML(データ操作言語:Data Manipulation Language)とは、データベースに格納されているデータを管理するための言語です。
データベース内のデータを追加・変更・削除するために利用されます。一例として、「SELECT」や「DELETE」などがあります。
3.DCL
DCL(データ制御言語:Data Control Language)とは、データベースのアクセス権限などを制御する言語です。
データベース内に格納されている任意のデータへのアクセスを制御するために利用されます。一例として、「GRANT」や「REVOKE」などがあります。
4.DQL
DQL(データクエリ言語:Data Query Language)とは、データベースからデータを取得するための言語です。JCL変換時にシステムが発行する「COMMAND ステートメント」のみで構成されています。
データベースに格納されているデータに対してクエリを実行し、情報を検索するために利用されます。
代表的な基礎構文
SQLは、「VS Code(Visual Studio Code)」や「Sublime Text」などのデータを作成・編集する「エディタ」や「コマンドプロンプト」を使って書きます。定められた語彙や文法を利用しなければ処理を正確に実行できません。
ここからは、SQLの代表的な基礎構文を5つ紹介します。
CREATE
CREATEとは、テーブルを作成する構文です。
CREATEのサンプルコードは、以下の通りです。
CREATE TABLE list2 (
grade INT,
first_name VARCHAR(30),
last_name VARCHAR(30),
score INT
);
上記のサンプルコードでは、「grade」、「first_name」、「last_name」、「score」の4つの列によって構成されている「list2」というテーブルを作成しようとしています。
DELETE
DELETEとは、行を削除する構文です。
DELETEのサンプルコードは、以下の通りです。
DELETE
FROM
list
WHERE
grade=2;
上記のサンプルコードでは、listから「grade(学年)=2」となっている行を削除しようとしています。
INSERT
INSERTとは、行を追加する構文です。
INSERTのサンプルコードは、以下の通りです。
INSERT
INTO list(grade class name gender score)
VALUES(1,2,’山田太郎’,’男’,30);
上記のサンプルコードでは、listに「grade(学年)=1」、「class(クラス)=2」、「name(名前)=山田太郎」、「gender(性別)=男」、「score(スコア)=30」の行を追加しようとしています。
REVOKE
REVOKEとは、ユーザーに付与されている権限を削除する構文です。
REVOKEのサンプルコードは、以下の通りです。
REVOKE SELECT ON list FROM user1;
上記のサンプルコードでは、「list」というテーブルへの「SELECT」権限を「user1」というユーザーから削除しようとしています。
SELECT
RDBは、碁盤の目状になっている「テーブル」と呼ばれる表でデータを管理しています。SELECTは、条件に一致する「行(レコード)」をテーブルから抽出する構文です。DMLに分類されることもあります。
SELECTのサンプルコードは、以下の通りです。
SELECT
Class AS クラス,
name AS 名前
FROM
list
WHERE
score >= 30;
上記のサンプルコードでは、「list」というテーブルからスコアが30以上の行を抽出しようとしています。
DBの構築や運用でお悩みの方はDX-Acceleratorにご相談ください
今回は、SQLの種類やできること、基本構文などを解説しました。
長期的に事業を運営すると、扱うデータ量も増えていきます。データベースを利用すると、膨大なデータの管理や抽出が容易になります。SQLを活用してデータベースを最大限に活用できるようになりましょう。
また、自社で管理しているデータを有効活用する方法が分からないという方には、データ人材常駐型支援サービス「DX-Accelerator」がおすすめです。
DX-Acceleratorでは、SQLやデータ分析などの知識が豊富なアナリティクスエンジニアがクライアントのお悩みを解決しています。DX-Acceleratorについて知りたい方は、こちらの記事をご覧ください。
データを有効活用し、新たなビジネスチャンスを掴みましょう。